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 verwendet werden.
SteuerelementID

Wenn leer oder weggelassen, wird standardmäßig der Name der Ausgabevariable verwendet. Zum Beispiel ist GuiControlGet, MeinEdit dasselbe 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 Absatz beschriebenen Methode). In der Regel ist es sinnvoll, jedem Steuerelement, auf das später mit GuiControl oder GuiControlGet zugegriffen wird, eine Variable zuzuordnen, selbst wenn dieses Steuerelement nicht eingabefähig ist (wie z.B. GroupBox oder Text).

Andernfalls geben Sie für SteuerelementID entweder die ClassNN-Bezeichnung (Klassenname und Instanznummer des Steuerelements) oder den Text des Steuerelements an, die beide mit dem internen Tool "Window Spy" ermittelt werden können. Wenn Text verwendet wird, 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 oder die HWND-Nummer (eindeutige ID) der GUI angegeben werden -- außer in [v1.1.20+], wenn SteuerelementID eine HWND-Nummer ist, da jede HWND-Nummer eindeutig 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, wie er ursprünglich bei der Erstellung des Steuerelements angegeben wurde. Dieser Name ändert sich auch dann nicht, wenn später ein anderer Dateiname angegeben wird.

Edit: Ruft den Inhalt ab, wobei alle Zeilenumbrüche im Text als einfache LF-Zeichen (`n) ausgegeben werden, und nicht wie üblich als CR-LF-Paare (`r`n), die von Nicht-GUI-Befehlen wie ControlGetText und ControlSetText verwendet werden.

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

CheckBox/Radio: Ruft 1 ab, wenn das Steuerelement eingeschaltet ist, 0, wenn es ausgeschaltet ist, oder -1, wenn es unbestimmt/grau ist. Geben Sie für Wert das Wort Text an, um stattdessen den Text bzw. die Beschriftung des Steuerelements abzurufen. Hinweis: Im Gegensatz zu Gui Submit ruft GuiControlGet den Status von Radio-Steuerelementen immer einzeln ab, egal ob sie Mitglieder einer Radio-Gruppe sind oder nicht.

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ählten 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. die Beschriftung eines CheckBox-, DropDownList-, ComboBox- oder Radio-Steuerelements 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 einen Satz von Variablen innerhalb einer Funktion global statt lokal zu machen, deklarieren Sie AusgabeVar als globale Variable, bevor Sie diesen Befehl verwenden (für Assume-Global-Funktionen gilt das Gegenteil). Oft ist es auch notwendig, jede Variable in diesem Satz einzeln zu deklarieren, da ein häufiger Anlass zu Verwirrung vorliegt.

Focus

Ruft die ClassNN-Bezeichnung des fokussierten Steuerelements ab.

GuiControlGet, AusgabeVar, Focus , SteuerelementID

Das angegebene GUI-Fenster muss aktiv sein, damit eines seiner Steuerelemente den Fokus haben kann, d.h. wenn das Fenster 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. die Beschriftung des Steuerelements abgerufen, bis zu einem Maximum von 63 Zeichen (dies wird meist verwendet, um zu vermeiden, jeder Schaltfläche einen Variablennamen zu geben).

Enabled

Ruft 1 ab, wenn die Interaktion mit dem Steuerelement erlaubt ist, oder 0, wenn nicht.

GuiControlGet, AusgabeVar, Enabled , SteuerelementID

Visible

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

GuiControlGet, AusgabeVar, Visible , SteuerelementID

Hwnd [v1.0.46.16+]

Ruft das Fensterhandle (HWND) des Steuerelements ab.

GuiControlGet, AusgabeVar, Hwnd , SteuerelementID

Die HWND-Nummer (eindeutige ID) eines Steuerelements wird oft in Verbindung mit PostMessage, SendMessage und DllCall() verwendet. Hinweis: Mit der Option +HwndAusgabeVar lässt sich die HWND-Nummer in der Regel präziser ermitteln.

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. Andernfalls wird es auf 0 gesetzt.

Bemerkungen

Um mit einem anderen Fenster als dem Standardfenster zu arbeiten, fügen Sie dessen Namen oder Nummer (oder in [v1.1.03+] dessen HWND), gefolgt von einem Doppelpunkt, vor dem Unterbefehl ein. Zum Beispiel:

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

Dies ist auch 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 ein Thread, der durch eine GUI-Aktion gestartet wurde. Eine GUI-Aktion ist z.B. 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

Dasselbe wie oben, aber speichert den Text in StrlmntInhalt.

GuiControlGet, StrlmntInhalt,, MeinEdit

Ruft 1 ab, wenn eine CheckBox eingeschaltet ist, andernfalls 0.

GuiControlGet, MeineCheckBox1

Ruft den Text bzw. die Beschriftung einer CheckBox ab.

GuiControlGet, MeineCheckBox1,,, Text

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

GuiControlGet, Pic, Pos, Static4