GUICtrlSetOnEvent
Указывает на функцию, которая должна выполниться при нажатии элемента управления.
GUICtrlSetOnEvent ( controlID, "function" )
Параметры
controlID | Идентификатор элемента возвращаемый функцией GUICtrlCreate.... |
function |
Имя вызываемой функции. |
Возвращаемое значение
Успех: | Возвращает 1. |
Ошибка: | Возвращает 0, |
Примечания
Функции OnEvent вызываются только при включенной опции GUIOnEventMode установленной в 1, при использовании этого режима GUIGetMsg() не используется.См. также
GUICtrlCreate..., GUIGetMsg, GUIOnEventMode (Опция), GUISetOnEvent, GUICtrlCreateDummy, GUICtrlSendToDummyПример
#include <GUIConstantsEx.au3>
Example()
Func Example()
Opt("GUICoordMode", 2)
Opt("GUIResizeMode", 1)
Opt("GUIOnEventMode", 1)
GUICreate("Родительское окно")
GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents")
GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents")
GUICtrlCreateButton("OK", 10, 30, 50)
GUICtrlSetOnEvent(-1, "OKPressed")
GUICtrlCreateButton("Отмена", 0, -1)
GUICtrlSetOnEvent(-1, "CancelPressed")
GUISetState(@SW_SHOW)
; Обычное ожидание в цикле
While 1
Sleep(10)
WEnd
EndFunc
Func OKPressed()
MsgBox(4096, "Нажата кнопка OK", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle & " CtrlHandle=" & @GUI_CtrlHandle)
EndFunc
Func CancelPressed()
MsgBox(4096, "Нажата кнопка Отмена", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle & " CtrlHandle=" & @GUI_CtrlHandle)
EndFunc
Func SpecialEvents()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
MsgBox(4096, "Нажата кнопка закрытия", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
Exit
Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
MsgBox(4096, "Сворачивает окно", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
Case @GUI_CtrlId = $GUI_EVENT_RESTORE
MsgBox(4096, "Восстанавливает окно", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
EndSelect
EndFunc