Funktionreferenz


GUICtrlRead

Beschreibung anzeigen in

Liest den Status oder die Daten eines Controls.

GUICtrlRead ( controlID [, advanced = 0] )

Parameter

ControlID Die Identifikationsnummer des Controls (Control-ID), wie von einer GUICtrlCreate... Funktion zurückgegeben, oder -1 für das zuletzt erzeugte Control.
advanced [optional] gibt erweiterte Informationen eines Controls zurück.
    $GUI_READ_DEFAULT (0) = (Standard) Gibt einen Wert mit dem Status oder den Daten eines Controls zurück.
    $GUI_READ_EXTENDED (1) = gibt erweiterte Informationen eines Controls zurück (siehe Bemerkungen).

Die Konstanten sind in GUIConstantsEx.au3 definiert.

Rückgabewert

Erfolg: abhängig vom Control (siehe unten).
Fehler: 0.


Typ Wert
Checkbox, Radio Status des Buttons/Kästchens ($GUI_CHECKED oder $GUI_UNCHECKED)
Combo, List Der ausgewählte/markierte Wert.
Input, Edit Der eingegebene Text.
Button Die Aufschrift auf dem Button.
Date Das ausgewählte Datum entsprechend dem im PC eingestellten Format.
Progress Der aktuelle Anteil (Prozent).
Slider Der aktuelle Wert.
Tab Der Index des ausgewählten Tabs (0-basierend).
Menu, MenuItem Status des Menüs/Eintrags. siehe Status-Tabelle
TreeView Control-ID des ausgewählten TreeView-Eintrags.
TreeViewItem Status des TreeView-Eintrags.
ListView Control-ID des ausgewählten Listeneintrags. 0 bedeutet, dass kein Eintrag ausgewählt ist.
ListViewItem Der Text des ausgewählten Eintrags/Zeile in der Listview.
Dummy Der Wert, der durch GUICtrlSendToDummy() oder GUICtrlSetData() gesetzt wurde.

Bemerkungen

Im "advanced" Modus enthält der Rückgabewert zusätzliche Daten des Controls (siehe unten).

Merke: nicht alle Controls geben zusätzliche Daten zurück!

Typ zusätzlicher Wert
Checkbox, Radio Der Text des Controls.
Menu, MenuItem Der Text des Controls.
TreeView Der Text des aktuell markierten TreeViewItems.
TreeViewItem Der Text des TreeViewItems.
ListViewItem Der Status des ListViewItems, falls der erweiterte Stil $LVS_EX_CHECKBOXES im advanced Modus verwendet wird. Siehe Status Tabelle
Tab Die Control-ID des ausgewählten Tabs

Bei Checkboxen und Radiobuttons wird nur der $GUI_CHECKED (1), $GUI_UNCHECKED (4) oder $GUI_INDETERMINATE (2) Status zurückgegeben. Somit kann dieser Wert direkt verwendet werden.

Bei Listview items können mehrere Status als $GUI_FOCUS und $GUI_CHECKED zurückgegeben werden (nur für ListView-Controls bei denen der advanced Modus und der erweiterte Stil LVS_EX_CHECKBOXES verwendet wird.)
So ist z. B. BitAND(GUICtrlRead($Item, 1), $GUI_CHECKED) zu verwenden um zu sehen ob ein Control markiert ist.

Bei Treeview items können mehrere Status als $GUI_FOCUS, $GUI_EXPAND und $GUI_CHECKED, $GUI_UNCHECKED zurückgegeben werden (nur für Treeview-Controls bei denen der erweiterte Stil TVS_CHECKBOXES verwendet wird.)
So ist z. B. BitAND(GUICtrlRead($Item), $GUI_CHECKED) zu verwenden um zu sehen ob ein Control markiert ist.

- - - - - - - - Erklärung der Controls - - - - - - - -

Verwandte Funktionen

GUICtrlCreate..., GUICtrlGetState, GUICtrlSendMsg, GUICtrlSendToDummy, GUICtrlSetData, GUICtrlUpdate..., GUIEventOptions (Option), GUIGetMsg

Beispiel

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

Example()

Func Example()
    GUICreate("Mein GUICtrlRead") ; Erstellt ein GUI-Fenster welches mittig ausgerichtet wird

    Local $idMenu1 = GUICtrlCreateMenu("Datei")

    Local $idList = GUICtrlCreateList("", 10, 10, -1, 100)
    GUICtrlSetData(-1, "Eintrag1|Eintrag2|Eintrag3", "Eintrag2")

    Local $idButton = GUICtrlCreateButton("Lesen", 10, 150, 50)
    GUICtrlSetState(-1, $GUI_FOCUS) ; Der Fokus liegt auf diesem Button

    GUISetState(@SW_SHOW) ; Macht die GUI sichtbar

    Local $idMsg, $iMenustate, $sMenutext
    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
    Do
        $idMsg = GUIGetMsg()
        If $idMsg = $idButton Then
            MsgBox($MB_SYSTEMMODAL, "Ausgewählter Listbox-Eintrag", GUICtrlRead($idList)) ; Zeigt den ausgewählten Listbox-Eintrag an
            $iMenustate = GUICtrlRead($idMenu1) ; Rückgabe des Zustandes des Menüpunktes
            $sMenutext = GUICtrlRead($idMenu1, 1) ; Rückgabe des Textes des Menüpunktes
            MsgBox($MB_SYSTEMMODAL, "Status und Text des Menüpunktes", "Status:" & $iMenustate & @CRLF & "Text:" & $sMenutext)
        EndIf
    Until $idMsg = $GUI_EVENT_CLOSE
EndFunc   ;==>Example