Definiert eine vom Benutzer geschriebene Funktion, die aufgerufen wird, wenn ein Control angeklickt wird.
GUISetOnEvent ( specialID, "function" [, winhandle] )
specialID | Siehe Spezielle ID Tabelle unten. |
function | Der Name der aufzurufenden Funktion. |
winhandle | [optional] Fenster-Handle wie von GUICreate() zurückgegeben (Standard ist das zuvor verwendete Fenster). |
Erfolg: | 1. |
Fehler: | 0. |
OnEvent-Funktionen werden nur aufgerufen, wenn Opt("GUIOnEventMode", 1) - In diesem Modus wird GUIGetMsg() überhaupt NICHT verwendet.
Es kann keine Funktion aufgerufen werden die Parameter enthält.
Wenn die Option GUIEventOptionOpt ("GUIEventOptions", 1), haben die Minimier-, Wiederherstellen- und Maximier-Buttons keine Funktion, außer einer einfachen Benachrichtigung.
Wird als Funktion ein leerer String ("") übergeben, wird die zuvor zugewiesene Benutzerfunktion deaktiviert.
Spezial ID-Tabelle
Spezial ID | Bemerkungen |
---|---|
$GUI_EVENT_CLOSE | die Dialogbox wird geschlossen (entweder durch einen bestimmten Button oder das Systemmenü). |
$GUI_EVENT_MINIMIZE | die Dialogbox wird per Button in der Titelleiste minimiert. |
$GUI_EVENT_RESTORE | die Dialogbox wird durch Klick auf das Taskleistensymbol wiederhergestellt. |
$GUI_EVENT_MAXIMIZE | die Dialogbox wird per Button in der Titelleiste maximiert. |
$GUI_EVENT_MOUSEMOVE | der Mauszeiger wurde bewegt |
$GUI_EVENT_PRIMARYDOWN | die erste (linke) Maustaste wurde gedrückt |
$GUI_EVENT_PRIMARYUP | die erste (linke) Maustaste wurde losgelassen |
$GUI_EVENT_SECONDARYDOWN | die zweite (rechte) Maustaste wurde gedrückt |
$GUI_EVENT_SECONDARYUP | die zweite (rechte) Maustaste wurde losgelassen |
$GUI_EVENT_RESIZED | Dialogbox wurde mit neuer Größe neu angezeigt |
$GUI_EVENT_DROPPED | Ende einer Drag&Drop Aktion @GUI_DragId, @GUI_DragFile und @GUI_DropId werden verwendet, um die passende ID bzw. Datei von dem Control zu erhalten. |
GUICtrlSetOnEvent, GUIEventOptions (Option), GUIOnEventMode (Option)
#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)
; Warteschleife
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)
GUIDelete()
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