GuiControlGet

Ruft verschiedene Arten von Informationen über ein Steuerelement innerhalb eines GUI-Fensters ab.

GuiControlGet, AusgabeVar , Unterbefehl, SteuerelementID, Wert

Parameter

AusgabeVar
Name der Ausgabevariable, in der das Ergebnis von Unterbefehl gespeichert werden soll.
Unterbefehl, Wert
Diese Parameter sind voneinander abhängig und können wie unten gezeigt genutzt werden.
SteuerelementID

Wenn dieser Parameter weggelassen wird oder leer ist, wird standardmäßig der Name der Ausgabevariable verwendet. Zum Beispiel wäre GuiControlGet, MeinEdit das gleiche wie GuiControlGet, MeinEdit,, MeinEdit.

SteuerelementID kann der Name der zugeordneten Variable eines Steuerelements sein, sofern vorhanden (diese Methode hat Vorrang vor der im nächsten Abschnitt beschriebenen Methode). In der Regel ist es sinnvoll, jedem Steuerelement, das später via GuiControl oder GuiControlGet angesteuert wird, eine Variable zuzuordnen (auch nicht-eingabefähige wie GroupBox oder Text).

Ansonsten kann SteuerelementID entweder die ClassNN-Bezeichnung (Klassenname und Instanznummer des Steuerelements) oder der Text des Steuerelements sein, die beide mit dem internen Tool Window Spy ermittelt werden können. Verwendet man Text, ist das Übereinstimmungsverhalten abhängig von SetTitleMatchMode.

Hinweis: Der Dateiname eines Picture-Steuerelements (der zum Zeitpunkt seiner Erstellung angegeben wurde) kann auch als SteuerelementID verwendet werden.

[v1.1.04+]: SteuerelementID kann die HWND-Nummer (eindeutige ID) eines Steuerelements sein.

Wenn sich das Steuerelement nicht auf der Standard-GUI befindet, muss zudem der Name der GUI angegeben werden -- außer in [v1.1.20+], wenn SteuerelementID eine HWND-Nummer ist, da jeder HWND-Nummer einzigartig ist. Weitere Informationen finden Sie unter Bemerkungen.

Unterbefehle

Geben Sie für Unterbefehl Folgendes an:

(Leer)

Ruft den Inhalt des Steuerelements ab.

GuiControlGet, AusgabeVar ,, SteuerelementID, Wert

Lassen Sie Unterbefehl leer, um den Inhalt des Steuerelements abzurufen. Alle Steuerelemente sind selbsterklärend, mit Ausnahme von:

Picture: Ruft den Dateinamen des Bildes ab, der zum Zeitpunkt seiner Erstellung angegeben wurde. Dieser Name ändert sich auch dann nicht, wenn später ein anderer Dateiname angegeben wird.

Edit: Ruft den Inhalt ab, allerdings werden alle Zeilenumbrüche im Text in reine LF-Zeichen (`n) umgewandelt, anstatt wie üblich in CR+LF (`r`n), das von Nicht-GUI-Befehlen wie ControlGetText und ControlSetText verwendet wird.

Hotkey: Ruft einen leeren Wert ab, wenn kein Hotkey im Steuerelement angegeben ist. Ansonsten werden die Modifikatoren und der Tastenname abgerufen. Beispiele: ^!C, ^Home, +^NumpadHome.

Checkbox/Radio: Ruft eine 1 ab, wenn das Steuerelement abgehakt oder eingeschaltet ist, eine 0, wenn es nicht-abgehakt oder ausgeschaltet ist, oder -1, wenn es unbestimmt ist. Geben Sie für Wert das Wort Text an, um stattdessen den Text bzw. Beschriftung des Steuerelements abzurufen. Hinweis: Im Gegensatz zu Gui Submit werden hierbei Radio-Buttons immer einzeln abgerufen, egal ob sie Mitglieder einer Radio-Gruppe sind.

UpDown/Slider/Progress: Ruft die aktuelle Position des Steuerelements ab.

Tab/DropDownList/ComboBox/ListBox: Ruft den Text des aktuell ausgewählten Listeneintrags/Tabs ab (oder dessen Position, wenn das Steuerelement die AltSubmit-Eigenschaft hat). Bei einer ComboBox ohne ausgewähltem Listeneintrag wird stattdessen der im Eingabefeld enthaltene Text abgerufen. Bei einer Mehrfachauswahl-ListBox werden Listeneinträge mit dem aktuellen Trennzeichen des Fensters voneinander getrennt.

ListView und TreeView: Diese Steuerelemente werden nicht unterstützt, wenn Unterbefehl leer ist. Verwenden Sie stattdessen die internen ListView- und TreeView-Funktionen.

StatusBar: Ruft nur den Text des ersten Bereichs ab.

ActiveX: Ruft ein neues Wrapper-Objekt für die ActiveX-Komponente des Steuerelements ab.

Hinweis: Geben Sie für Wert das Wort Text an, um nicht den Inhalt, sondern den Text bzw. Beschriftung einer CheckBox, DropDownList, ComboBox oder eines Radio-Buttons abzurufen.

Pos

Ruft die Position und Größe des Steuerelements ab.

GuiControlGet, AusgabeVar, Pos , SteuerelementID

Die Position ist relativ zum Clientbereich des GUI-Fensters (das ist der Bereich ohne Titelleiste, Menüleiste und Rahmen). Die Informationen werden in vier Variablen gespeichert, deren Namen alle mit AusgabeVar beginnen. Zum Beispiel:

GuiControlGet, MeinEdit, Pos
MsgBox Die X-Koordinate ist %MeinEditX%. Die Y-Koordinate ist %MeinEditY%. Die Breite ist %MeinEditW%. Die Höhe ist %MeinEditH%.

Um innerhalb einer Funktion einen Satz von Variablen global statt lokal zu machen, deklarieren Sie AusgabeVar als globale Variable, bevor Sie diesen Befehl verwenden (das Gegenteil gilt bei Assume-Global-Funktionen). Oft ist es auch notwendig, jede Variable in diesem Satz einzeln zu deklarieren, da ein häufiger Anlass zu Verwirrung vorliegt.

Focus

Ruft den Steuerelementidentifikator (ClassNN) des aktuell fokussierten Steuerelements ab.

GuiControlGet, AusgabeVar, Focus , SteuerelementID

Das angegebene GUI-Fenster muss aktiv sein, damit eines der darin enthaltenen Steuerelemente den Fokus haben kann. Wenn das Fenster demzufolge nicht aktiv ist, wird AusgabeVar leer gemacht. Anwendungsbeispiel: GuiControlGet, fokussiertes_Steuerelement, Focus.

FocusV [v1.0.43.06+]

Ruft den Namen der zugeordneten Variable des fokussierten Steuerelements ab.

GuiControlGet, AusgabeVar, FocusV , SteuerelementID

Schauen Sie sich den Focus-Unterbefehl oben an, um mehr zu erfahren. Wenn dieses Steuerelement keine zugeordnete Variable hat, wird stattdessen der Text bzw. Beschriftung des Steuerelements abgerufen, bis zu einem Maximum von 63 Zeichen (auf diese Weise können zum Beispiel Button-Steuerelemente angesteuert werden, ohne ihnen zwingend einen Variablennamen zuzuordnen).

Enabled

Ruft 1 ab, wenn die Interaktion mit dem Steuerelement aktiviert ist, oder 0, wenn sie deaktiviert ist.

GuiControlGet, AusgabeVar, Enabled , SteuerelementID

Visible

Ruft 1 ab, wenn das Steuerelement sichtbar ist, oder 0, wenn es versteckt ist.

GuiControlGet, AusgabeVar, Visible , SteuerelementID

Hwnd [v1.0.46.16+]

Ruft die HWND-Nummer (eindeutige ID) des Steuerelements ab.

GuiControlGet, AusgabeVar, Hwnd , SteuerelementID

Die HWND-Nummer (eindeutige ID) eines Steuerelements wird oft in Verbindung mit PostMessage, SendMessage und DllCall() genutzt. Hinweis: Mit HwndAusgabeVar kann schneller und einfacher die HWND-Nummer abgerufen werden.

Name [v1.1.03+]

Ruft den Namen der zugeordneten Variable des Steuerelements ab.

GuiControlGet, AusgabeVar, Name , SteuerelementID

Wenn es keine hat, wird AusgabeVar leer gemacht.

Fehlerbehandlung

[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.

ErrorLevel wird auf 1 gesetzt, wenn das angegebene Fenster/Steuerelement nicht existiert oder ein anderes Problem die Ausführung des Befehls verhindert hat. Ansonsten wird es auf 0 gesetzt.

Bemerkungen

Um anstelle des Standardfensters (siehe unten) mit einem anderen Fenster zu agieren, fügen Sie dessen Name oder Nummer, gefolgt von einem Doppelpunkt, vor dem Unterbefehl ein. Zum Beispiel:

GuiControlGet, MeinEdit, MeineGui:
GuiControlGet, MeinEdit, MeineGui:Pos
GuiControlGet, AusgabeVar, MeineGui:Focus

Dies ist auch dann erforderlich, wenn SteuerelementID die zugeordnete Variable eines Steuerelements ist, da jede Variable für mehrere GUI-Fenster verwendet werden kann. In [v1.1.20+] kann der GUI-Name weggelassen werden, wenn SteuerelementID die HWND-Nummer (eindeutige ID) eines Steuerelements ist.

Ein GUI-Thread ist laut Definition jeder Thread, den eine GUI-Aktion gestartet hat. Zu den GUI-Aktionen gehört beispielsweise das Auswählen eines Menüpunkts oder das Auslösen eines g-Labels (z. B. durch Drücken einer Schaltfläche).

Der Standardfenstername eines GUI-Threads ist der Name des Fensters, das diesen Thread gestartet hat. Nicht-GUI-Threads verwenden standardmäßig 1.

Gui, GuiControl, ControlGet

Beispiele

Ruft den Text eines Edit-Steuerelements ab und speichert ihn in MeinEdit.

GuiControlGet, MeinEdit

Das Gleiche wie oben, aber speichert den Text in StrlmntInhalt.

GuiControlGet, StrlmntInhalt,, MeinEdit

Ruft 1 ab, wenn eine CheckBox abgehakt ist, oder 0, wenn nicht.

GuiControlGet, MeineCheckBox1

Ruft den Text bzw. Beschriftung einer CheckBox ab.

GuiControlGet, MeineCheckBox1,,, Text

Speichert die Position und Größe in PicX, PicY, PicW und PicH.

GuiControlGet, Pic, Pos, Static4