Control

Führt eine Vielzahl von Änderungen an einem Steuerelement durch.

Control, Unterbefehl , Wert, Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Parameter

Unterbefehl, Wert
Diese Parameter sind voneinander abhängig und können wie unten gezeigt genutzt werden.
Steuerelement

Kann entweder das 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. Wenn dieser Parameter leer ist, wird das oberste Steuerelement des Fensters benutzt.

Um ein Steuerelement via HWND (Windows Handle) anzusteuern, lässt man den Steuerelement-Parameter leer und übergibt ahk_id %SteuerelementHwnd% als Fenstertitel-Parameter (funktioniert auch bei versteckten Steuerelementen, selbst wenn DetectHiddenWindows ausgeschaltet ist). Das HWND eines Steuerelements wird üblicherweise per ControlGet Hwnd, MouseGetPos oder DllCall abgerufen.

Fenstertitel
Der Titel oder andere Möglichkeiten zum Identifizieren des Zielfensters. Weitere Informationen finden Sie auf der Seite Fenstertitel-Parameter & Zuletzt Gefundenes Fenster.
Fenstertext
Eine Zeichenkette, die in einem der Textelemente des Zielfensters enthalten ist (eventuell vorhandene Textelemente können mit dem internen Tool Window Spy aufgedeckt werden). Versteckte Textelemente werden nur erkannt, wenn DetectHiddenText eingeschaltet ist.
Titelausnahme
Ignoriert Fenster, deren Titel diesen Wert enthalten.
Textausnahme
Ignoriert Fenster, deren Textelemente diesen Wert enthalten.

Unterbefehle

Geben Sie für Unterbefehl Folgendes an:

Check

Markiert einen Radio-Button oder eine CheckBox.

Control, Check ,, Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Uncheck

Entfernt die Markierung von einem Radio-Button oder einer CheckBox.

Control, Uncheck ,, Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Enable

Aktiviert die Interaktion mit einem Steuerelement, falls sie zuvor deaktiviert wurde.

Control, Enable ,, Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Disable

Deaktiviert die Interaktion mit einem Steuerelement.

Control, Disable ,, Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Show

Macht ein Steuerelement, das zuvor versteckt wurde, wieder sichtbar.

Control, Show ,, Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Hide

Versteckt ein Steuerelement.

Control, Hide ,, Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Wenn Sie außerdem verhindern wollen, dass das Steuerelement via Tastenkürzel (unterstrichener Buchstabe) angesteuert werden kann, müssen Sie die Interaktion mit diesem via Disable-Unterbefehl deaktivieren.

Style

Ändert den Style eines Steuerelements.

Control, Style, N , Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Wenn das erste Zeichen von N ein Plus- oder Minuszeichen ist, werden die in N angegebenen Styles hinzugefügt oder entfernt. Wenn das erste Zeichen ein Zirkumflex (^) ist, werden die in N angegebenen Styles auf den entgegengesetzten Zustand geschaltet. Wenn das erste Zeichen eine Ziffer ist, wird der Style des Steuerelements komplett überschrieben; das heißt, das der Style zu N wird. ErrorLevel wird auf 1 gesetzt, wenn das angezielte Fenster/Steuerelement nicht gefunden wird oder wenn der Style nicht angewendet werden darf.

Die Änderungen einiger Styles werden erst wirksam, wenn das komplette Fenster via WinSet Redraw neu gezeichnet wurde. Die Style-Tabelle beinhaltet eine Auflistung einiger Styles. Zum Beispiel:

Control, Style, ^0x800000, Edit1, Fenstertitel  ; Schaltet den WS_BORDER-Style auf den entgegengesetzten Zustand.

ExStyle

Ändert den erweiterten Style eines Steuerelements.

Control, ExStyle, N , Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Schauen Sie sich den Style-Unterbefehl oben an, um mehr zu erfahren.

ShowDropDown

Zeigt die Auswahlliste eines ComboBox-Steuerelements an.

Control, ShowDropDown ,, Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

HideDropDown

Versteckt die Auswahlliste eines ComboBox-Steuerelements.

Control, HideDropDown ,, Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

TabLeft

Verschiebt die Tabauswahl in einem SysTabControl32 um einen oder mehrere Tabs nach links.

Control, TabLeft , Schritte, Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Wenn Schritte fehlt oder leer ist, gilt standardmäßig 1. Um einen Tab stattdessen direkt via Nummer anzusteuern, ersetzt man die unten hervorgehobene 5 mit der Tabnummer, die ausgewählt werden soll, und subtrahiert sie um 1. Das heißt, dass 0 den ersten Tab auswählt, 1 den zweiten Tab auswählt und so weiter:

SendMessage, 0x1330, 5,, SysTabControl321, Fenstertitel  ; 0x1330 ist TCM_SETCURFOCUS.
Sleep 0  ; Diese und die nächste Zeile sind nur für bestimmte Tab-Steuerelemente notwendig.
SendMessage, 0x130C, 5,, SysTabControl321, Fenstertitel  ; 0x130C ist TCM_SETCURSEL.

TabRight

Verschiebt die Tabauswahl in einem SysTabControl32 um einen oder mehrere Tabs nach rechts.

Control, TabRight , Schritte, Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Schauen Sie sich den TabLeft-Unterbefehl oben an, um mehr zu erfahren.

Add

Fügt Zeichenkette als neuen Eintrag an das untere Ende einer ListBox oder ComboBox (und eventuell andere Steuerelemente) hinzu.

Control, Add, Zeichenkette , Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Delete

Entfernt den N-ten Eintrag aus einer ListBox oder ComboBox.

Control, Delete, N , Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Geben Sie für N eine 1 an, um den ersten Eintrag auszuwählen, eine 2 für den zweiten Eintrag, und so weiter.

Choose

Setzt die Auswahl in einer ListBox oder ComboBox auf den N-ten Eintrag.

Control, Choose, N , Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Geben Sie für N eine 1 an, um den ersten Eintrag auszuwählen, eine 2 für den zweiten Eintrag, und so weiter. Das folgende Beispiel zeigt, wie alle Elemente innerhalb einer Mehrfachauswahl-ListBox markiert oder demarkiert werden können:

PostMessage, 0x185, 1, -1, ListBox1, Fenstertitel  ; Wählt alle ListBox-Einträge aus. 0x185 ist LB_SETSEL.

ChooseString

Setzt die Auswahl in einer ListBox oder ComboBox auf den ersten Eintrag, der mit Zeichenkette beginnt.

Control, ChooseString, Zeichenkette , Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Die Suche unterscheidet nicht zwischen Groß- und Kleinschreibung. Wenn eine ListBox/ComboBox beispielsweise den Eintrag "UNIX-Text" enthält, würde es genügen, das Wort unix (kleingeschrieben) anzugeben, um es auszuwählen.

EditPaste

Fügt Zeichenkette an dem Textcursor eines Edit-Steuerelements ein.

Control, EditPaste, Zeichenkette , Steuerelement, Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Der Inhalt der Zwischenablage ist davon nicht betroffen.

ErrorLevel

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

ErrorLevel wird bei Misserfolg auf 1 und bei Erfolg auf 0 gesetzt.

Bemerkungen

Um die Zuverlässigkeit des Befehls zu verbessern, erfolgt jedes Mal, wenn er ausgeführt wurde, automatisch eine Verzögerung (außer bei den Unterbefehlen Style und ExStyle). Diese Verzögerung kann via SetControlDelay geändert werden.

MouseGetPos kann genutzt werden, um das ClassNN oder HWND des Steuerelements unterhalb des Mauszeigers zu ermitteln.

Fenstertitel und -texte unterscheiden zwischen Groß- und Kleinschreibung. Versteckte Fenster werden nur erkannt, wenn DetectHiddenWindows eingeschaltet ist.

Siehe auch

SetControlDelay, ControlGet, GuiControl, ControlGetText, ControlSetText, ControlMove, ControlGetPos, ControlClick, ControlFocus, ControlSend, WinSet

Beispiel

Beispiel #1

Versteckt die Auswahlliste der ersten ComboBox:

Control, HideDropDown,, ComboBox1, Beliebiger Fenstertitel