GUISetOnEvent
Указывает на функцию, которая должна выполниться при нажатии на системные кнопки.
GUISetOnEvent ( specialID, "function" [, winhandle ] )
Параметры
specialID | Смотрите Таблицу системных ID ниже. |
function |
Имя вызываемой функции. |
winhandle |
[необязательный] Дескриптор окна возвращаемый функцией GUICreate() (по умолчанию предыдущее используемое окно). |
Возвращаемое значение
Успех: | Возвращает 1. |
Ошибка: | Возвращает 0. |
Примечания
Функции OnEvent вызываются только при включенной опции GUIOnEventMode установленной в 1, при использовании этого режима GUIGetMsg() не используется.Специальные ID | Описание |
---|---|
$GUI_EVENT_CLOSE | Закрыть окно (либо по определённым кнопкам или системному меню). |
$GUI_EVENT_MINIMIZE | Свернуть окно. |
$GUI_EVENT_RESTORE | Восстановить окно. |
$GUI_EVENT_MAXIMIZE | Развернуть на весь экран. |
$GUI_EVENT_MOUSEMOVE | Курсор мыши переместился. |
$GUI_EVENT_PRIMARYDOWN | Первичная кнопка мыши была нажата (левая если не переназначено). |
$GUI_EVENT_PRIMARYUP | Первичная кнопка мыши была отпущена (левая если не переназначено). |
$GUI_EVENT_SECONDARYDOWN | Вторичная кнопка мыши была нажата (правая если не переназначено). |
$GUI_EVENT_SECONDARYUP | Вторичная кнопка мыши была отпущена (правая если не переназначено). |
$GUI_EVENT_RESIZED | Изменён размер окна. |
$GUI_EVENT_DROPPED | Выполнена операция "перетащить и бросить" (Drag&Drop). Макросы @GUI_DragId, @GUI_DragFile и @GUI_DropId используются для возврата идентификаторов / файлов соответствующим элементам. |
См. также
GUIOnEventMode (Опция), GUIEventOptions (Опция), GUICtrlSetOnEvent, GUIGetMsgПример
#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