Functions > GUI > GUISetParameters >


GUISetOnEvent

Définit une fonction utilisateur à appeler quand un bouton système est cliqué.

GUISetOnEvent ( specialID, "function" [, winhandle] )

Paramètres

specialID Consultez le Tableau des IDs Spéciaux ci-dessous.
function Le nom de la fonction utilisateur à appeler.
winhandle [optionnel] Handle Windows retourné par GUICreate() (par défaut, la fenêtre précédemment utilisée).

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0.

Remarques

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

Vous ne pouvez pas appeler une fonction avec des paramètres.

Si l'option GUIEventOptions est à 1, les boutons system 'minimise', 'restaure' et 'maximise' n'auront aucun effet sur la fenêtre, juste une simple notification.

Si le paramètre "function" est une chaîne vide "", la fonction utilisateur précédente est désactivée.
    Table des IDs Spéciaux

Identifiant Spécial Commentaires
$GUI_EVENT_CLOSE La boîte de dialogue est en train d'être fermée (par bouton défini ou par menu système).
$GUI_EVENT_MINIMIZE La boîte de dialogue est minimisée avec le bouton de la barre de titre.
$GUI_EVENT_RESTORE La boîte de dialogue est restaurée par un clic sur l'icône de la barre de tâche.
$GUI_EVENT_MAXIMIZE La boîte de dialogue est maximisée avec le bouton de la barre de titre.
$GUI_EVENT_MOUSEMOVE Le curseur de la souris a été déplacé.
$GUI_EVENT_PRIMARYDOWN le bouton principal de la souris a été pressé.
$GUI_EVENT_PRIMARYUP le bouton principal de la souris a été relâché.
$GUI_EVENT_SECONDARYDOWN le bouton secondaire de la souris a été pressé.
$GUI_EVENT_SECONDARYUP le bouton secondaire de la souris a été relâché.
$GUI_EVENT_RESIZED La boîte de dialogue a été redimensionnée.
$GUI_EVENT_DROPPED Fin d'une action Drag&Drop. Les macros @GUI_DragId, @GUI_DragFile et @GUI_DropId seront utilisés pour obtenir l'ID/fichier du contrôle impliqué.

En relation

GUICtrlSetOnEvent, GUIEventOptions (Option), GUIOnEventMode (Option)

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

    GUIDelete()
EndFunc   ;==>Example

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

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

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

        Case $GUI_EVENT_MINIMIZE
            MsgBox($MB_SYSTEMMODAL, "Fenêtre Minimisée", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)

        Case $GUI_EVENT_RESTORE
            MsgBox($MB_SYSTEMMODAL, "Fenêtre Restaurée", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)

    EndSwitch
EndFunc   ;==>SpecialEvents