Functions > GUI > GUICtrlUpdate >


GUICtrlSetOnEvent

D�finit l'appel d'une fonction utilisateur associ� au clic d'un contr�le.

GUICtrlSetOnEvent ( controlID, "function" )

Param�tres

controlID L'ID du contr�le tel que retourn� par une fonction GUICtrlCreate...(), ou -1 pour d�signer le dernier contr�le cr��.
function Le nom de la fonction utilisateur � appeler.

Valeur de retour

Succ�s: Retourne 1.
�chec: Retourne 0.

Remarques

Les fonctions OnEvent ne sont appel�es que si l'option GUIOnEventMode est install�e � 1 - dans ce mode GUIGetMsg() n'est pas utilis� du tout.

Vous ne pouvez pas appeler une fonction qui a des param�tres.

Dans la fonction utilisateur appel�e, l'identifiant du contr�le peut �tre r�cup�r� avec @GUI_CtrlId.
Si n�cessaire le handle de la fen�tre et le handle du contr�le peuvent �tre r�cup�r�s avec @GUI_WinHandle ou @GUI_CtrlHandle.
Si la fonction est une cha�ne vide "" la pr�c�dente fonction d�finie par l'utilisateur est d�sactiv�e.

En relation

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

Exemple

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

Global $bEndScript = False
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("Cancel", 0, -1)
    GUICtrlSetOnEvent(-1, "CancelPressed")

    GUISetState(@SW_SHOW)

    ; Boucle avec fin
    While Not $bEndScript
        Sleep(10)
    WEnd
EndFunc   ;==>Example

Func OKPressed()
    MsgBox($MB_SYSTEMMODAL, "OK Pressed", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle & " CtrlHandle=" & @GUI_CtrlHandle)
EndFunc   ;==>OKPressed

Func CancelPressed()
    MsgBox($MB_SYSTEMMODAL, "Cancel Pressed", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle & " CtrlHandle=" & @GUI_CtrlHandle)
EndFunc   ;==>CancelPressed

Func SpecialEvents()
    Switch @GUI_CtrlId
        Case $GUI_EVENT_CLOSE
            MsgBox($MB_SYSTEMMODAL, "Close Pressed", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
            $bEndScript = True

        Case $GUI_EVENT_MINIMIZE
            MsgBox($MB_SYSTEMMODAL, "Window Minimized", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)

        Case $GUI_EVENT_RESTORE
            MsgBox($MB_SYSTEMMODAL, "Window Restored", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)

    EndSwitch
EndFunc   ;==>SpecialEvents