Hi all,
I am playing with this script. It only responds to WM_PAINT message. And it is not quitting when i click the close button. Please look at the script.
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
Global $g_hProcOld, $g_hNewProc
Local $hForm1, $g_bExit = False
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$hForm1 = GUICreate("Hello Program", 550, 306, 277, 153)
Local $hLabel1 = GUICtrlCreateLabel("Hello from AutoIt", 200, 120, 136, 17)
GUICtrlSetOnEvent(-1, "Label1Click")
Local $hBtn = GUICtrlCreateButton("Click", 100, 100, 86, 57)
GUICtrlSetOnEvent(-1, "BtClick")
$g_hNewProc = DllCallbackRegister('_WndProc', 'LRESULT', 'hwnd;uint;wparam;lparam')
$g_hProcOld = _WinAPI_SetWindowLong($hForm1, $GWL_WNDPROC,DllCallbackGetPtr($g_hNewProc))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
Sleep(10)
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
#Region ctrl funcs
Func Label1Click()
EndFunc
Func BtClick()
EndFunc
#EndRegion ctrl funcs
DllCallbackFree($g_hNewProc)
Func _WndProc($hWnd, $iMsg, $wParam, $lParam)
Switch $iMsg
Case $WM_CLOSE
_WinAPI_DestroyWindow($hForm1)
Case $WM_CREATE
ConsoleWrite("Just Created" & @CRLF)
Case $WM_PAINT
ConsoleWrite("Wondow Painted" & @CRLF)
Case $WM_KEYDOWN
ConsoleWrite("key pressed" & @CRLF)
EndSwitch
Return _WinAPI_CallWindowProc($g_hProcOld,$hWnd, $iMsg, $wParam, $lParam)
EndFunc ;==>_WndProc