#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
Global $hGui, $iChb_1, $iChb_2, $iBtn_1, $iBtn_2
$hGui = GUICreate('Test', 200, 100)
$iChb_1 = GUICtrlCreateCheckbox('Checkbox 1', 10, 20, 80, 20, BitOR($GUI_SS_DEFAULT_CHECKBOX, $BS_NOTIFY))
$iChb_2 = GUICtrlCreateCheckbox('Checkbox 2', 110, 20, 80, 20, BitOR($GUI_SS_DEFAULT_CHECKBOX, $BS_NOTIFY))
$iBtn_1 = GUICtrlCreateButton('Btn 1', 10, 60, 80, 30)
$iBtn_2 = GUICtrlCreateButton('Btn 2', 110, 60, 80, 30)
GUICtrlSetState(-1, $GUI_FOCUS)
GUISetState()
GUIRegisterMsg($WM_COMMAND, '_WM_COMMAND')
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $iBtn_1
MsgBox(64, 'Info', '$iBtn_1 clicked', 0, $hGui)
Case $iBtn_2
MsgBox(64, 'Info', '$iBtn_2 clicked', 0, $hGui)
EndSwitch
WEnd
Func _WM_COMMAND($h_Wnd, $i_Msg, $i_wParam, $i_lParam)
Switch $h_Wnd
Case $hGui
Switch BitShift($i_wParam, 16);code
Case $BN_SETFOCUS
Switch BitAND($i_wParam, 0xFFFF);ID
Case $iChb_1
GUICtrlSendMsg($iChb_1, $BM_SETCHECK, Not GUICtrlSendMsg($iChb_1, $BM_GETCHECK, 0, 0), 0)
GUICtrlSetState($iBtn_1, $GUI_FOCUS)
Case $iChb_2
GUICtrlSendMsg($iChb_2, $BM_SETCHECK, Not GUICtrlSendMsg($iChb_2, $BM_GETCHECK, 0, 0), 0)
GUICtrlSetState($iBtn_2, $GUI_FOCUS)
EndSwitch
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_COMMAND