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, verhält er sich so, als wurde der Name der Ausgabevariable angegeben. Zum Beispiel wäre GuiControlGet, MeinEdit das gleiche wie GuiControlGet, MeinEdit,, MeinEdit.

Wenn das Ziel-Steuerelement eine zugeordnete Variable hat, kann der Name der Variable als SteuerelementID angegeben werden (diese Methode hat Vorrang vor der nächsten Methode). Aus diesem Grund empfiehlt es sich, jedes Steuerelement mit einer Variable zu verbinden, so dass es später via GuiControl oder GuiControlGet zugreifbar ist, selbst wenn es nicht eingabefähig ist (z. B. GroupBox oder Text).

Ansonsten kann SteuerelementID entweder ClassNN (Klassenname und Instanznummer des Steuerelements) oder der Text des Steuerelements sein, die beide mit Windows 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 das HWND eines Steuerelements sein.

Befindet sich das Steuerelement nicht auf dem Standard-GUI, muss der Name des GUI auch angegeben werden -- außer in [v1.1.20+], wenn SteuerelementID ein HWND ist, da jedes HWND einzigartig ist. Siehe Bemerkungen, um mehr darüber zu erfahren.

Unterbefehle

Geben Sie für Unterbefehl Folgendes an:

(Leer)

Ermittelt die Inhalte des Steuerelements.

GuiControlGet, AusgabeVar ,, SteuerelementID, Wert

Lassen Sie Unterbefehl leer, um die Inhalte des Steuerelements abzurufen. Alle Steuerelementarten sind selbsterklärend, mit Ausnahme von:

Picture: Ruft den Dateinamen des Bildes ab, das ursprünglich zum Erstellen des Steuerelements benutzt wurde. Dieser Name ändert sich auch dann nicht, wenn ein neuer Bilddateiname angegeben ist.

Edit: Ruft die Inhalte ab, aber jeder Zeilenumbruch im Text wird als reines LF-Zeichen (`n) dargestellt, anstatt traditionell als 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 vorkommt. Ansonsten ruft er die Modifikatoren und Tastenname ab. Beispiele: ^!C, ^Home, +^NumpadHome.

Checkbox/Radio: Ruft eine 1 ab, wenn das Steuerelement markiert ist, eine 0, wenn es demarkiert ist, oder -1, wenn es eine graue Markierung hat. Um stattdessen den Text/die Beschriftung des Steuerelements abzurufen, fügt man das Wort Text in Wert ein. Hinweis: Im Gegensatz zum Befehl Gui Submit werden Radio-Buttons immer einzeln abgerufen, egal ob sie in einer 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 Elements/Tabs ab (oder die Position des Steuerelements, wenn es die AltSubmit-Eigenschaft hat). Bei einer ComboBox wird, wenn kein Element ausgewählt wurde, stattdessen der Text im Eingabefeld des Steuerelements abgerufen. Bei einer Mehrfachauswahl-ListBox verwendet die Ausgabe das aktuelle Trennzeichen des Fensters.

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: Um anstelle des Inhalts die Beschriftung eines CheckBox-, Radio-, DropDownList- oder ComboBox-Steuerelements abzurufen, fügt man das Wort Text in Wert ein.

Pos

Ermittelt die Position und Größe des Steuerelements.

GuiControlGet, AusgabeVar, Pos , SteuerelementID

Die Position ist relativ zum Client-Bereich des GUI-Fensters, das der Bereich ohne Titelleiste, Menüleiste und Rahmen ist. Die Information wird in vier Variablen aufgeteilt, 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 eine Reihe von Variablen zu erstellen, die global statt lokal sein sollen, muss AusgabeVar als globale Variable deklariert werden, bevor man diesen Befehl verwendet (das Gegenteil gilt bei Assume-Global-Funktionen). Aufgrund des Häufigen Anlasses zu Verwirrung muss jede Variable dieses Pseudo-Arrays einzeln deklariert werden.

Focus

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

GuiControlGet, AusgabeVar, Focus , SteuerelementID

Das angegebene GUI-Fenster muss aktiv sein, damit eines seiner Steuerelemente den Fokus haben kann. Also wird AusgabeVar leer gemacht, wenn das Fenster nicht aktiv ist. Anwendungsbeispiel: GuiControlGet, fokussiertes_Steuerelement, Focus.

FocusV [v1.0.43.06+]

Ruft den zugeordneten Variablennamen des fokussierten Steuerelements ab.

GuiControlGet, AusgabeVar, FocusV , SteuerelementID

Schauen Sie sich den Focus-Unterbefehl oben an, um mehr zu erfahren. Fehlt dem Steuerelement eine zugeordnete Variable, enthält A_GuiControl stattdessen die ersten 63 Zeichen des Textes/der Bezeichnung (wenn man verhindern möchte, jedem Button einen Variablennamen zuzuweisen).

Enabled

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

GuiControlGet, AusgabeVar, Enabled , SteuerelementID

Visible

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

GuiControlGet, AusgabeVar, Visible , SteuerelementID

Hwnd [v1.0.46.16+]

Ruft das Window Handle (HWND) des Steuerelements ab.

GuiControlGet, AusgabeVar, Hwnd , SteuerelementID

Das HWND eines Steuerelements wird oft in Verbindung mit PostMessage, SendMessage und DllCall verwendet. Hinweis: HwndAusgabeVar ist in der Regel der kürzere Weg zum Abrufen des HWND.

Name [v1.1.03+]

Ruft den zugeordneten Variablennamen des Steuerelements ab.

GuiControlGet, AusgabeVar, Name , SteuerelementID

Wenn es keinen 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 mit einem anderen Fenster als das Standardfenster zu agieren (siehe unten), fügt man dessen Name oder Nummer, gefolgt von einem Doppelpunkt, vor dem Unterbefehl ein. Zum Beispiel:

GuiControlGet, MeinEdit, MeinGui:
GuiControlGet, MeinEdit, MeinGui:Pos
GuiControlGet, AusgabeVar, MeinGui:Focus

Diese Methode ist auch dann notwendig, 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 das HWND eines Steuerelements ist.

Ein GUI-Thread ist ein Thread, der aufgrund einer GUI-Aktion gestartet wurde. Zu den GUI-Aktionen gehört beispielsweise das Auswählen eines Menüpunkts oder das Ausführen eines g-Labels (z. B. beim Drücken eines Buttons).

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

Siehe auch

Gui, GuiControl, ControlGet

Beispiele

Beispiel #1: Verschiedenes

GuiControlGet, MeinEdit
GuiControlGet, Inhalt,, MeinEdit  ; Das gleiche wie oben, außer mit einer nicht-standardmäßigen Ausgabevariable.
GuiControlGet, MeineCheckBox1 ; Ruft eine 1 ab, wenn es markiert ist, oder eine 0, wenn es demarkiert ist.
GuiControlGet, MeineCheckBox1,,, Text  ; Ruft die Bezeichnung/den Text der CheckBox ab.
GuiControlGet, Pic, Pos, Static4  ; Die Position/Größe wird in PicX, PicY, PicW, und PicH gespeichert.