Fragt die GUI nach aufgetretenen Ereignissen (events) ab.
GUIGetMsg ( [advanced] )
Parameter
| advanced | [optional] gibt evtl. zusätzliche Informationen in einem Array zurück. 0 = (Standard) Gibt nur das Ereignis selbst zurück. 1 = Gibt ein Array zurück, in dem das Ereignis und zusätzliche Informationen enthalten sind. |
Rückgabewert
Gibt je nach "advanced"-Parameter ein Ereignis oder ein Array zurück.| Spezial ID | Bemerkungen |
| 0 | Kein Ereignis |
| $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 neu aufgebaut. |
| $GUI_EVENT_DROPPED | Ende der Drag&Drop Aktion @GUI_DRAGID, @GUI_DRAGFILE und @GUI_DROPID werden verwendet, um die ID's bzw. Dateien der jeweiligen Controls zu ermitteln. |
Bemerkungen
Diese Funktion gibt die CPU automatisch wieder frei, wenn es erforderlich ist, so dass sie ruhig in Dauerschleifen benutzt werden kann, ohne die CPU vollständig auszulasten.
Verwandte Funktionen
GUICreate, GUICtrlCreate..., GUICtrlRead, GUIOnEventMode (Option), GUIEventOptions (Option), GUIGetCursorInfo, GUICtrlSendMsg, GUICtrlSetOnEvent
Beispiel
#include <GUIConstantsEx.au3>
Opt('MustDeclareVars', 1)
Example()
;-------------------------------------------------------------------------------------
; Beispiel - Drücke den Button, um die Werte der Checkboxen anzuzeigen
; Das Skript ermittelt auch Statusänderungen (geschlossen/minimiert/Timeouts, etc).
Func Example()
Local $button_1, $group_1, $radio_1, $radio_2, $radio_3
Local $radioval1, $radioval2, $msg
Opt("GUICoordMode", 1)
GUICreate("Radio Box Demo", 400, 280)
; Erzeugt die Controls
$button_1 = GUICtrlCreateButton("B&utton 1", 30, 20, 120, 40)
$group_1 = GUICtrlCreateGroup("Gruppe 1", 30, 90, 165, 160)
GUIStartGroup()
$radio_1 = GUICtrlCreateRadio("Radiobutton &0", 50, 120, 80, 20)
$radio_2 = GUICtrlCreateRadio("Radiobutton &1", 50, 150, 80, 20)
$radio_3 = GUICtrlCreateRadio("Radiobutton &2", 50, 180, 80, 20)
; Initialisierung der Variablen um GUI-Ereignisse im Auge zu behalten
$radioval1 = 0 ; Annahme: erster Radiobutton ausgewählt = 0, letzter Button = 2
$radioval2 = 2
; GUI anzeigen
GUISetState()
; In dieser Nachrichtenschleife werden Variablen benutzt, um die Radiobuttons im Auge zu behalten, ein anderer
; Weg wäre der Gebrauch von GUICtrlRead() am Ende um den Status jedes Controls einzulesen
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "", "Dialog wurde beendet")
Exit
Case $msg = $GUI_EVENT_MINIMIZE
MsgBox(0, "", "Dialog wurde minimiert", 2)
Case $msg = $GUI_EVENT_MAXIMIZE
MsgBox(0, "", "Dialog wurde wiederhergestellt", 2)
Case $msg = $button_1
MsgBox(0, "Standard-Button gedrückt", "Radiobutton " & $radioval1)
Case $msg >= $radio_1 And $msg <= $radio_3
$radioval1 = $msg - $radio_1
EndSelect
WEnd
EndFunc ;==>Example