Ruft verschiedene Arten von Informationen über ein Steuerelement innerhalb eines GUI-Fensters ab.
GuiControlGet, AusgabeVar , Unterbefehl, StrlmntID, Wert
Wenn leer oder weggelassen, verhält es sich so, als wäre der Name der zugeordneten Variable des Steuerelements (falls vorhanden) angegeben worden (z. B. ist GuiControlGet, MeinEdit dasselbe wie GuiControlGet, MeinEdit,, MeinEdit). Andernfalls geben sie den Namen der zugeordneten Variable (falls vorhanden), die ClassNN, den Text, oder in [v1.1.04+] das HWND des Steuerelements an. Einzelheiten finden Sie unter Steuerelementidentifikatoren.
Wenn sich das Steuerelement nicht auf der Standard-GUI befindet, muss zudem der Name oder das HWND der GUI angegeben werden -- außer in [v1.1.20+], wenn StrlmntID ein HWND ist, da jedes HWND eindeutig ist. Weitere Informationen finden Sie unter Bemerkungen.
Geben Sie für Unterbefehl Folgendes an:
Liefert den Inhalt eines Steuerelements.
GuiControlGet, AusgabeVar ,, StrlmntID, Text
Lassen Sie Unterbefehl leer, um den Inhalt des Steuerelements abzurufen.
Geben Sie im letzten Parameter das Wort Text an, um nicht den Inhalt, sondern den Text bzw. die Beschriftung eines Steuerelements abzurufen. Dies ist nur sinnvoll für Button-, CheckBox-, Radio- oder GroupBox-Steuerelemente.
Alle Steuerelemente sind selbsterklärend, mit Ausnahme von:
Picture: Liefert den Dateinamen des Bildes, 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: Liefert den Inhalt, wobei alle Zeilenumbrüche im Text nur als Zeilenvorschübe (`n) ausgegeben werden, nicht wie üblich als Wagenrücklauf-Zeilenvorschub-Paare (`r`n), die von Nicht-GUI-Befehlen wie ControlGetText und ControlSetText verwendet werden.
Hotkey: Liefert einen leeren Wert, wenn im Steuerelement kein Hotkey angegeben ist. Andernfalls werden die Modifikatoren und der Tastenname abgerufen. Beispiele: ^!C, ^Home, +^NumpadHome.
CheckBox/Radio: Liefert 1 für markiert, 0 für unmarkiert oder -1 für unbestimmt. Geben Sie das Wort Text im letzten Parameter an, um stattdessen den Text bzw. die Beschriftung des Steuerelements zu erhalten. Anders als bei Gui Submit werden Radio-Steuerelemente immer einzeln abgerufen, egal ob sie zu einer Radiogruppe gehören oder nicht.
UpDown/Slider/Progress: Liefert die aktuelle Position des Steuerelements.
Tab/DropDownList/ComboBox/ListBox: Liefert den Text des aktuell ausgewählten Listeneintrags/Reiters (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. Geben Sie das Wort Text im letzten Parameter an, um stattdessen den Text einer DropDownList oder ComboBox zu erhalten.
ListView/TreeView: Diese Steuerelemente werden nicht unterstützt, wenn Unterbefehl leer ist. Verwenden Sie stattdessen die internen ListView- und TreeView-Funktionen.
StatusBar: Liefert nur den Text des ersten Segments.
ActiveX: Liefert ein neues Wrapper-Objekt für die ActiveX-Komponente des Steuerelements.
Liefert die Position und Größe eines Steuerelements.
GuiControlGet, AusgabeVar, Pos , StrlmntID
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.
Siehe Beispiel #4 für eine Demonstration.
Liefert die ClassNN des fokussierten Steuerelements.
GuiControlGet, AusgabeVar, Focus
Ein 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.
Siehe Beispiel #4 für eine Demonstration.
Liefert den zugeordneten Variablennamen des fokussierten Steuerelements.
GuiControlGet, AusgabeVar, FocusV
Ein 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.
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).
Liefert 1, wenn die Interaktion mit einem Steuerelement erlaubt ist, oder 0, wenn verboten.
GuiControlGet, AusgabeVar, Enabled , StrlmntID
Liefert 1, wenn ein Steuerelement sichtbar ist, oder 0, wenn versteckt.
GuiControlGet, AusgabeVar, Visible , StrlmntID
Liefert das Fensterhandle (HWND) eines Steuerelements.
GuiControlGet, AusgabeVar, Hwnd , StrlmntID
Allerdings ist die Option +HwndAusgabeVar in der Regel der präzisere Ansatz, um das HWND zu erhalten.
Liefert den zugeordneten Variablennamen eines Steuerelements.
GuiControlGet, AusgabeVar, Name , StrlmntID
Wenn das Steuerelement keine zugeordnete Variable hat, wird AusgabeVar leer gemacht.
[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.
Dieser Befehl ist nur für die Verwendung mit Steuerelementen in einem GUI-Fenster vorgesehen, also einem Fenster, das mit dem Gui-Befehl erstellt wurde. Für Nicht-GUI-Steuerelemente können Sie ControlGet, ControlGetFocus, ControlGetPos, ControlGetText und so weiter verwenden.
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 StrlmntID 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 StrlmntID das HWND 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, ControlGetFocus, ControlGetPos, ControlGetText
Ruft den Text eines Edit-Steuerelements mithilfe einer zugeordneten Variable ab und speichert ihn in dieselbe Variable.
Gui, Add, Edit, vMeinEdit, Das ist ein Test. Gui, Show GuiControlGet, MeinEdit MsgBox %MeinEdit%
Dasselbe wie oben, aber speichert den Text in eine andere Variable.
Gui, Add, Edit, vMeinEdit, Das ist ein Test. Gui, Show GuiControlGet, StrlmntInhalt,, MeinEdit MsgBox %StrlmntInhalt%
Ruft die Beschriftung und den Status eines CheckBox-Steuerelements mittels A_GuiControl ab und speichert die Werte in andere Variablen.
Gui, Add, CheckBox, gStatusMelden, Kontrollkästchen 1 Gui, Add, CheckBox, gStatusMelden, Kontrollkästchen 2 Gui, Show return StatusMelden: GuiControlGet, Beschriftung,, %A_GuiControl%, Text GuiControlGet, Status,, %A_GuiControl% MsgBox % Beschriftung " ist " (Status = 0 ? "unmarkiert" : "markiert") return
Ruft die Position und Größe eines Picture-Steuerelements mittels ClassNN ab und speichert die Werte in die Variablen BildX, BildY, BildW und BildH.
Gui, Add, Picture,, %A_AhkPath% Gui, Show GuiControlGet, Bild, Pos, Static1 MsgBox % "x" BildX ", y" BildY ", w" BildW ", h" BildH
Liefert die ClassNN des fokussierten Steuerelements.
Gui, Add, Edit Gui, Show GuiControlGet, fokussiertes_Steuerelement, Focus MsgBox %fokussiertes_Steuerelement%