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 die 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 Zielfensters benutzt.

Um mit dem Fenster-Handle (HWND) eines Steuerelements zu agieren, 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). Der Fenster-Handle (HWND) eines Steuerelements wird üblicherweise via ControlGet Hwnd, MouseGetPos oder DllCall abgerufen.

Fenstertitel
Der Titel oder andere Möglichkeiten zum Identifizieren des Zielfensters. Weitere Informationen finden Sie unter Fenstertitel-Parameter.
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

Bewirkt, dass eine CheckBox abgehakt oder ein Radio-Button eingeschaltet wird.

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

Uncheck

Entfernt das Häkchen einer CheckBox oder die Markierung eines Radio-Buttons.

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

Enable

Aktiviert die zuvor deaktivierte Interaktion mit einem Steuerelement.

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

Disable

Deaktiviert die Interaktion mit einem Steuerelement.

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

Show

Macht ein zuvor verstecktes Steuerelement wieder sichtbar.

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

Hide

Versteckt ein Steuerelement.

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

Mit dem Disable-Unterbefehl kann zusätzlich das Tastenkürzel eines Steuerelements (unterstrichene Buchstabe) deaktiviert werden.

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 bzw. 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 angegebene 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 listet einige Style-Nummern auf. 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

Macht die Auswahlliste einer ComboBox sichtbar.

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

HideDropDown

Versteckt die Auswahlliste einer ComboBox.

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 auszuwählen, ersetzen Sie die hervorgehobene 5 im folgenden Beispiel mit einer Nummer, die um 1 kleiner ist als die Nummer des Tabs, den Sie auswählen möchten. Also 0 für den ersten Tab, 1 für den Zweiten 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 Listeneintrag an das untere Ende einer ListBox, ComboBox oder eventuell eines anderen Steuerelements hinzu.

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

Delete

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

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

Geben Sie für N die Positionsnummer eines Listeneintrags an; also 1 für den ersten Listeneintrag, 2 für den Zweiten, und so weiter.

Choose

Wählt den N-ten Listeneintrag in einer ListBox oder ComboBox aus.

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

Geben Sie für N die Positionsnummer eines Listeneintrags an; also 1 für den ersten Listeneintrag, 2 für den Zweiten, und so weiter. Das folgende Beispiel zeigt, wie alle Listeneinträge in einer Mehrfachauswahl-ListBox aus- oder abgewählt werden können:

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

ChooseString

Wählt in einer ListBox oder ComboBox einen Listeneintrag aus, dessen Name mit Zeichenkette beginnt.

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

Die Suche ist nicht Groß-/Kleinschreibung-sensitiv. Wenn eine ListBox/ComboBox beispielsweise den Listeneintrag "UNIX-Text" enthält, genügt die Angabe des Wortes unix (kleingeschrieben), um diesen Listeneintrag auszuwählen.

EditPaste

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

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

Dies hat keinen Einfluss auf den Inhalt der Zwischenablage.

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 die ClassNN oder den HWND des Steuerelements unterhalb des Mauszeigers abzurufen.

Fenstertitel und -texte sind Groß-/Kleinschreibung-sensitiv. 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