GuiControlGet

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

GuiControlGet, AusgabeVar , Unterbefehl, SteuerelementID, Wert

Parameter

AusgabeVar
Name der Variable, 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

Fehlt dieser Parameter oder ist er leer, 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 ClassNN (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 der Fenster-Handle (HWND) 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 ein Fenster-Handle (HWND) ist, da jeder Fenster-Handle 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, deklariert man AusgabeVar als globale Variable, bevor man diesen Befehl verwendet (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 den Fenster-Handle (HWND) des Steuerelements ab.

GuiControlGet, AusgabeVar, Hwnd , SteuerelementID

Dieser Fenster-Handle (HWND) ist zum Beispiel nützlich, um ein Steuerelement via PostMessage, SendMessage und DllCall anzusteuern. Hinweis: Verwenden Sie HwndAusgabeVar, um schneller und einfacher den Fenster-Handle (HWND) zu erhalten.

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.

ErrorLevel

[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ügt man 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 der Fenster-Handle (HWND) 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.

Siehe auch

Gui, GuiControl, ControlGet

Beispiele

Beispiel #1: Verschiedenes

GuiControlGet, MeinEdit
GuiControlGet, Inhalt,, MeinEdit  ; Ähnlich wie oben, außer dass hier eine nicht-standardmäßige Ausgabevariable verwendet wird.
GuiControlGet, MeineCheckBox1 ; Ruft 1 ab, wenn es abgehakt ist, oder 0, wenn nicht.
GuiControlGet, MeineCheckBox1,,, Text  ; Ruft den Text bzw. Beschriftung der CheckBox ab.
GuiControlGet, Pic, Pos, Static4  ; Die Position/Größe wird in PicX, PicY, PicW, und PicH gespeichert.