Definiert eine nutzerdefinierte Funktion, die aufgerufen wird, wenn ein Control angeklickt wird.
GUICtrlSetOnEvent ( controlID, "function" )
ControlID | Die Identifikationsnummer des Controls (Control-ID), wie von einer GUICtrlCreate... Funktion zurückgegeben, oder -1 für das zuletzt erzeugte Control. |
function | Der Name der vom Benutzer geschriebenen Funktion, die aufgerufen werden soll. |
Erfolg: | 1. |
Fehler: | 0. |
OnEvent-Funktionen werden nur aufgerufen, wenn die Option GUIOnEventMode auf 1 gesetzt ist - wenn in diesem Modus GUIGetMsg() überhaupt NICHT verwendet wird.
Es kann keine Funktion aufgerufen werden die Parameter enthält.
Innerhalb der aufgerufenen Funktion kann man die Control-ID mit @GUI_CtrlId erhalten.
Fall benötigt, erhält man den Fenster-Handle und den Control-Handle mit @GUI_WinHandle oder @GUI_CtrlHandle.
Falls die Funktion mit einem leeren String ("") aufgerufen wird, wird die vorherige deaktiviert.
- - - - - - - - Erklärung der Controls - - - - - - - -
GUICtrlCreate..., GUICtrlCreateDummy, GUICtrlSendToDummy, GUIGetMsg, GUIOnEventMode (Option), GUISetOnEvent
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
Example()
Func Example()
Opt("GUICoordMode", 2)
Opt("GUIResizeMode", 1)
Opt("GUIOnEventMode", 1)
GUICreate("Parent1")
GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents")
GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents")
GUICtrlCreateButton("OK", 10, 30, 50)
GUICtrlSetOnEvent(-1, "OKPressed")
GUICtrlCreateButton("Abbrechen", 0, -1)
GUICtrlSetOnEvent(-1, "CancelPressed")
GUISetState(@SW_SHOW)
; Nur herumtrödeln
While 1
Sleep(10)
WEnd
EndFunc ;==>Example
Func OKPressed()
MsgBox($MB_SYSTEMMODAL, "OK gedrückt", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle & " CtrlHandle=" & @GUI_CtrlHandle)
EndFunc ;==>OKPressed
Func CancelPressed()
MsgBox($MB_SYSTEMMODAL, "Abbrechen gedrückt", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle & " CtrlHandle=" & @GUI_CtrlHandle)
EndFunc ;==>CancelPressed
Func SpecialEvents()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
MsgBox($MB_SYSTEMMODAL, "Schliessen gedrückt", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
Exit
Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
MsgBox($MB_SYSTEMMODAL, "Fenster minimiert", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
Case @GUI_CtrlId = $GUI_EVENT_RESTORE
MsgBox($MB_SYSTEMMODAL, "Fenster wiederhergestellt", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
EndSelect
EndFunc ;==>SpecialEvents