Interroge la GUI pour savoir si des événements ont été déclenchés.
GUIGetMsg ( [advanced = 0] )
advanced | [optionnel] Faut-il retourner des informations supplémentaires dans un tableau. $GUI_EVENT_SINGLE (0) = (par défaut) Retourne un événement unique. $GUI_EVENT_ARRAY (1) = retourne un tableau contenant l'événement et des informations complémentaires. Les constantes sont définies dans GUIConstantsEx.au3. |
ID de l'événement: | ID du contrôle qui a envoyé le message |
0: | Aucun évènement |
$GUI_EVENT_CLOSE: | Boîte de dialogue fermée (par bouton défini, ou par menu système). |
$GUI_EVENT_MINIMIZE: | Boîte de dialogue minimisée avec le menu système. |
$GUI_EVENT_RESTORE: | Boîte de dialogue restaurée par clic sur l'icône de la barre de tâche. |
$GUI_EVENT_MAXIMIZE: | Boîte de dialogue maximisée avec le menu système. |
$GUI_EVENT_MOUSEMOVE: | Le curseur de la souris s'est déplacé. |
$GUI_EVENT_PRIMARYDOWN: | Le bouton principal de la souris a été enfoncé. |
$GUI_EVENT_PRIMARYUP: | Le bouton principal de la souris a été relâché. |
$GUI_EVENT_SECONDARYDOWN: | Le bouton secondaire de la souris a été enfoncé. |
$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 glisser-déposer, @GUI_DragId, @GUI_DragFile et @GUI_DropId seront utilisés pour récupérer de l'ID/fichier du contrôle impliqué. |
GUICreate, GUICtrlCreate..., GUICtrlRead, GUICtrlSendMsg, GUICtrlSetOnEvent, GUIEventOptions (Option), GUIGetCursorInfo, GUIOnEventMode (Option)
#include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> Example() ; Exemple - Appuyez sur le bouton pour voir la valeur des boutons radio ; Le script détecte également les changements d'état (fermé/minimisé/délai d'attente, etc). Func Example() Opt("GUICoordMode", 1) GUICreate("Radio Box Demo", 400, 280) ; Crée les contrôles Local $idButton_1 = GUICtrlCreateButton("B&utton 1", 30, 20, 120, 40) GUICtrlCreateGroup("Group 1", 30, 90, 165, 160) GUIStartGroup() Local $idRadio_1 = GUICtrlCreateRadio("Radio &0", 50, 120, 70, 20) GUICtrlCreateRadio("Radio &1", 50, 150, 60, 20) Local $idRadio_3 = GUICtrlCreateRadio("Radio &2", 50, 180, 60, 20) ; Initialise les variables que nous allons utiliser pour garder une trace des événements de la GUI Local $iRadioVal1 = 0 ; Nous supposerons que 0 = premier bouton radio sélectionné, 2 = dernier bouton ; Affiche la GUI GUISetState(@SW_SHOW) ; Dans cette boucle de message, nous utilisons des variables pour garder une trace des changements apportés aux radioBoutons, une autre ; façon serait d'utiliser GUICtrlRead() à la fin de la lecture de l'état de chaque contrôle Local $idMsg = GUIGetMsg() While $idMsg <> $GUI_EVENT_CLOSE Select Case $idMsg = $GUI_EVENT_MINIMIZE MsgBox($MB_SYSTEMMODAL, "", "Dialogue minimisé", 2) Case $idMsg = $GUI_EVENT_MAXIMIZE MsgBox($MB_SYSTEMMODAL, "", "Dialogue restauré", 2) Case $idMsg = $idButton_1 MsgBox($MB_SYSTEMMODAL, "", "Bouton par défaut cliqué:" & @CRLF & "Radio " & $iRadioVal1) Case $idMsg >= $idRadio_1 And $idMsg <= $idRadio_3 $iRadioVal1 = $idMsg - $idRadio_1 EndSelect $idMsg = GUIGetMsg() WEnd MsgBox($MB_SYSTEMMODAL, "", "Dialogue clos") GUIDelete() EndFunc ;==>Example
#include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> Example() Func Example() ; Crée une GUI Local $hGUI1 = GUICreate("Example GUI1") ; Crée un bouton Local $idButton1 = GUICtrlCreateButton("Button1", 10, 10, 80, 22) ; Affiche la GUI GUISetState(@SW_SHOW, $hGUI1) ; Crée une autre GUI Local $hGUI2 = GUICreate("Example GUI2", 300, 300) ; Crée un bouton Local $idButton2 = GUICtrlCreateButton("Button2", 10, 10, 80, 22) ; Affiche la GUI GUISetState(@SW_SHOW, $hGUI2) ; Variable locale tableau pour des messages avancés Local $aMsg = 0 Do ; Assigne à $aMsg les messages GUI avancés. $aMsg = GUIGetMsg(1) ; Selon la GUI Switch $aMsg[1] Case $hGUI1 ; L'événement provient de la GUI1 If $aMsg[0] = $idButton1 Then MsgBox($MB_SYSTEMMODAL, "", "Bouton1 cliqué.") EndIf Case $hGUI2 ; L'événement provient de la GUI2 ; Selon l'ID de l'événement Switch $aMsg[0] Case $GUI_EVENT_CLOSE GUIDelete($hGUI2) Case $idButton2 MsgBox($MB_SYSTEMMODAL, "", "Button2 cliqué.") EndSwitch EndSwitch Until ($aMsg[1] = $hGUI1) And ($aMsg[0] = $GUI_EVENT_CLOSE) ; Supprime la GUI principale GUIDelete($hGUI1) EndFunc ;==>Example