Funktionreferenz


GUICtrlSetOnEvent

Beschreibung anzeigen in

Definiert eine nutzerdefinierte Funktion, die aufgerufen wird, wenn ein Control angeklickt wird.

GUICtrlSetOnEvent ( controlID, "function" )

Parameter

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.

Rückgabewert

Erfolg: 1.
Fehler: 0.

Bemerkungen

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 - - - - - - - -

Verwandte Funktionen

GUICtrlCreate..., GUICtrlCreateDummy, GUICtrlSendToDummy, GUIGetMsg, GUIOnEventMode (Option), GUISetOnEvent

Beispiel

#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