GuiControl-Objekt

class Gui.Control extends Object

Bietet eine Schnittstelle, um GUI-Steuerelemente zu ändern und Informationen über sie abzurufen. Gui.Add, Gui.__Item und GuiCtrlFromHwnd geben ein Objekt dieses Typs zurück.

"GuiCtrl" wird hier stellvertretend für Instanzen der Gui.Control-Klasse verwendet.

Gui.Control dient als Basisklasse für alle GUI-Steuerelemente, aber jeder Steuerelementtyp hat seine eigene Klasse. Einige der folgenden Methoden sind durch den Prototyp der entsprechenden Klasse oder durch die Gui.List-Basisklasse definiert. Eine vollständige Liste finden Sie unter Interne Klassen.

Zusätzlich zu den von Object geerbten Methoden und Eigenschaften können GuiControl-Objekte die folgenden vordefinierten Methoden und Eigenschaften haben.

Inhaltsverzeichnis

Methoden

Add

Fügt neue Elemente in einem Multi-Element-Steuerelement (ListBox, DropDownList, ComboBox oder Tab) an.

GuiCtrl.Add(Elemente)

Parameter

Elemente

Typ: Array

Ein Array von Zeichenketten, die als Elemente am Ende der Liste des Steuerelements eingefügt werden sollen. Zum Beispiel ["Rot", "Grün", "Blau"].

Bemerkungen

Um die Liste stattdessen zu ersetzen (überschreiben), verwenden Sie davor GuiControl.Delete.

Um neue Elemente zu einer ListView oder TreeView hinzuzufügen, verwenden Sie LV.Add oder TV.Add.

Siehe Beispiel #1 für eine Demonstration.

Choose

Selektiert ein Element in einem Multi-Element-Steuerelement (ListBox, DropDownList, ComboBox oder Tab).

GuiCtrl.Choose(Element)

Parameter

Element

Typ: Integer oder Zeichenkette

Geben Sie 1 für das erste Element, 2 für das zweite und so weiter an. Geben Sie 0 an, um alle Elemente abzuwählen.

Wenn eine Zeichenkette (oder numerische Zeichenkette) angegeben ist, wird ein Element ausgewählt, dessen Name mit der Zeichenkette beginnt. Die Suche erfolgt nicht Groß-/Kleinschreibung-sensitiv. Wenn ein Multi-Element-Steuerelement z.B. das Element "UNIX-Text" enthält, genügt die Angabe des Wortes unix (kleingeschrieben), um dieses Element auszuwählen. Bei einer Mehrfachauswahl-ListBox werden alle übereinstimmenden Elemente ausgewählt.

Bemerkungen

Um alle Elemente in einer Mehrfachauswahl-ListBox auszuwählen, verwenden Sie PostMessage(0x0185, 1, -1, GuiCtrl) (0x0185 ist LB_SETSEL). Alternativ können Sie diese Methode für jedes Element im Array aufrufen, das von ControlGetItems zurückgegeben wird:

for index, text in ControlGetItems(GuiCtrl)
    GuiCtrl.Choose(index)

Im Gegensatz zu ControlChooseIndex löst diese Methode kein Change- oder DoubleClick-Ereignis aus.

Um ein Element in einer ListView oder TreeView auszuwählen, verwenden Sie LV.Modify oder TV.Modify mit der Select-Option.

Delete

Löscht ein oder alle Elemente aus einem Multi-Element-Steuerelement (ListBox, DropDownList, ComboBox oder Tab).

GuiCtrl.Delete(Element)

Parameter

Element

Typ: Integer

Wenn weggelassen, werden alle Elemente gelöscht. Andernfalls geben Sie 1 für das erste Element, 2 für das zweite und so weiter an.

Bemerkungen

Bei Tab-Steuerelementen sind und bleiben die Untersteuerelemente einer Registerkarte mit ihrer ursprünglichen Registerkartennummer verknüpft, d.h. sie sind nie mit dem Anzeigenamen ihrer Registerkarte verknüpft. Das Umbenennen oder Entfernen einer Registerkarte ändert nicht die Registerkartennummer, zu der die Untersteuerelemente gehören. Wenn zum Beispiel die drei Registerkarten ["Red", "Green", "Blue"] vorhanden sind und die zweite Registerkarte mit GuiCtrl.Delete(2) entfernt wird, werden die ursprünglich mit Grün verknüpften Untersteuerelemente mit Blau verknüpft. Aufgrund dieses Verhaltens ist es ratsam, nur die am Ende befindlichen Registerkarten zu entfernen. Registerkarten, die auf diese Weise entfernt wurden, können später wieder hinzugefügt werden, um ihnen ihre ursprünglichen Steuerelemente zurückzugeben.

Um ein Element in einer ListView oder TreeView zu löschen, verwenden Sie LV.Delete oder TV.Delete.

Siehe Beispiel #1 für eine Demonstration.

Focus

Setzt den Tastaturfokus auf ein Steuerelement.

GuiCtrl.Focus()

Um den gewünschten Effekt zu erzielen, darf das Fenster weder minimiert noch versteckt sein.

Um das aktuell fokussierte Steuerelement in einem GUI-Fenster zu ermitteln, verwenden Sie Gui.FocusedCtrl.

Um zu ermitteln, ob ein Steuerelement den Tastaturfokus hat, verwenden Sie GuiControl.Focused.

Siehe Beispiel #6 für eine Demonstration.

GetPos

Liefert die Position und Größe eines Steuerelements.

GuiCtrl.GetPos(&X, &Y, &Breite, &Höhe)

Parameter

&X, &Y

Typ: VarRef

Wenn weggelassen, wird der zugehörige Wert nicht gespeichert. Andernfalls geben Sie Referenzen an, die auf Ausgabevariablen verweisen, in denen die X- und Y-Koordinate (in Pixel) der oberen linken Ecke des Steuerelements gespeichert werden sollen. Diese Koordinaten sind relativ zur oberen linken Ecke des Clientbereichs des Fensters (das ist der Bereich ohne Titelleiste, Menüleiste und Rahmen).

&Breite, &Höhe

Typ: VarRef

Wenn weggelassen, wird der zugehörige Wert nicht gespeichert. Andernfalls geben Sie Referenzen an, die auf Ausgabevariablen verweisen, in denen die Breite und Höhe (in Pixel) des Steuerelements gespeichert werden sollen.

Bemerkungen

Im Gegensatz zu ControlGetPos wendet diese Methode die DPI-Skalierung auf die zurückgegebenen Koordinaten an (es sei denn, die -DPIScale-Option wurde verwendet).

Siehe Beispiel #5 oder Beispiel #10 für eine Demonstration.

Move

Verschiebt ein Steuerelement und/oder ändert dessen Größe.

GuiCtrl.Move(X, Y, Breite, Höhe)

Parameter

X, Y

Typ: Integer

Wenn einer der Parameter weggelassen wird, bleibt die Position des Steuerelements in dieser Dimension unverändert. Andernfalls geben Sie die X- und Y-Koordinate (in Pixel) der oberen linken Ecke der neuen Position des Steuerelements an. Die Koordinaten sind relativ zur oberen linken Ecke des Clientbereichs des Fensters (das ist der Bereich ohne Titelleiste, Menüleiste und Rahmen).

Breite, Höhe

Typ: Integer

Wenn einer der Parameter weggelassen wird, bleibt die Größe des Steuerelements in dieser Dimension unverändert. Andernfalls geben Sie die neue Breite und Höhe des Steuerelements (in Pixel) an.

Bemerkungen

Im Gegensatz zu ControlMove wendet diese Methode die DPI-Skalierung auf die Koordinaten an (es sei denn, die -DPIScale-Option wurde verwendet).

Siehe Beispiel #4 oder Beispiel #5 für eine Demonstration.

OnCommand

Registriert eine Funktion oder Methode, die aufgerufen wird, wenn eine Steuerelement­benachrichtigung via WM_COMMAND-Meldung empfangen wird.

GuiCtrl.OnCommand(NachrichtCode, Rückruf , HinzufügenEntfernen)

Weitere Informationen finden Sie unter OnCommand.

OnEvent

Registriert eine Funktion oder Methode, die aufgerufen wird, wenn ein bestimmtes Ereignis ausgelöst wird.

GuiCtrl.OnEvent(EreignisName, Rückruf , HinzufügenEntfernen)

Weitere Informationen finden Sie unter OnEvent.

OnNotify

Registriert eine Funktion oder Methode, die aufgerufen wird, wenn eine Steuerelement­benachrichtigung via WM_NOTIFY-Meldung empfangen wird.

GuiCtrl.OnNotify(NachrichtCode, Rückruf , HinzufügenEntfernen)

Weitere Informationen finden Sie unter OnNotify.

Opt

Fügt verschiedene Optionen und Styles hinzu oder entfernt sie.

GuiCtrl.Opt(Optionen)

Parameter

Optionen

Typ: Zeichenkette

Geben Sie beliebig viele steuerelementspezifische oder allgemeine Optionen und Styles an, die jeweils durch mindestens ein Leer- oder Tabulatorzeichen voneinander getrennt sind.

Zum Beispiel würde "+Disabled -Background", ein Steuerelement deaktivieren (die Interaktion mit ihm verbieten) und dessen Hintergrund auf die Systemvorgabe zurücksetzen, während "+Default" eine Schaltfläche zur neuen Standardschaltfläche machen würde.

Bemerkungen

In der Regel werden alle gültigen Optionen und Styles erkannt. Das bedeutet jedoch nicht, dass sie alle nach der Erstellung eines Steuerelements angewendet oder entfernt werden. Einige Styles können nicht nachträglich geändert werden. Für die Positionierungs- und Größenoptionen können Sie stattdessen GuiControl.Move verwenden, optional mit GuiControl.GetPos für relative Anpassungen.

Wenn eine Änderung nicht angewendet werden konnte, wird eine Ausnahme ausgelöst. Eine erfolgreich angewendete Änderung kann immer noch vom Steuerelement selbst ignoriert werden.

Redraw

Zeichnet den Bereich des GUI-Fensters neu, der von einem Steuerelement beansprucht wird.

GuiCtrl.Redraw()

Obwohl diese Methode bei wiederholtem und schnellem Aufruf zu unerwünschtem Flackern führen kann, ist sie in der Lage, fehlerhafte Darstellungen beim Zeichnen bestimmter Steuerelemente wie z.B. GroupBox zu verhindern.

Das Hinzufügen sehr vieler Elemente von z.B. ListView, TreeView oder ListBox kann performanter gemacht werden, indem die Neuzeichnung des Steuerelements unterdrückt wird, während die Änderungen vorgenommen werden. Verwenden Sie hierfür GuiCtrl.Opt("-Redraw"), bevor Sie die Elemente hinzufügen, und danach GuiCtrl.Opt("+Redraw"). Änderungen am Steuerelement, die vor dem Deaktivieren der Neuzeichnung noch nicht sichtbar waren, werden in der Regel erst sichtbar, nachdem die Neuzeichnung wieder aktiviert wurde.

Aus Performanzgründen führen Änderungen am Inhalt eines Steuerelements nicht dazu, dass das Steuerelement sofort neu gezeichnet wird, auch wenn die Neuzeichnung aktiv ist. Stattdessen wird ein Teil des Steuerelements "ungültig gemacht" und üblicherweise nach einer kurzen Verzögerung neu gezeichnet, sobald das Programm seine interne Meldungswarteschlange prüft. Das Skript kann mit Sleep -1 erzwingen, dass dies sofort stattfindet.

SetFont

Ändert Schriftart, Schriftgröße, Schriftfarbe und/oder Schriftstil eines Steuerelements.

GuiCtrl.SetFont(Optionen, SchriftName)

Beide Parameter können weggelassen werden, um die aktuell via Gui.SetFont definierte Schrift der GUI zu setzen. Andernfalls werden alle nicht angegebenen Schriftattribute von der vorherigen Schrift des Steuerelements übernommen. Die Schriftfarbe wird nur geändert, wenn sie in den Optionen angegeben ist.

Einzelheiten zu beiden Parametern finden Sie unter Gui.SetFont.

Siehe Beispiel #7 für eine Demonstration.

Eigenschaften

ClassNN

Liefert die ClassNN (Klassenname und Sequenznummer) eines Steuerelements.

ClassNN := GuiCtrl.ClassNN

Enabled

Liefert oder setzt, ob die Interaktion mit einem Steuerelement erlaubt ist.

IstInteraktiv := GuiCtrl.Enabled
GuiCtrl.Enabled := NeuerZustand

IstInteraktiv ist 1, wenn die Interaktion mit dem Steuerelement erlaubt ist, oder 0, wenn verboten. Die Disabled-Option wirkt sich auf die Voreinstellung aus.

NeuerZustand muss ein boolescher Wert sein. Wenn true, wird die Interaktion mit dem Steuerelement erlaubt. Wenn false, wird die Interaktion mit dem Steuerelement verboten.

Bei Tab-Steuerelementen verbietet oder erlaubt dies zudem die Interaktion mit den Untersteuerelementen. Beachten Sie aber, dass jedes Untersteuerelement, das explizit mit GuiCtrl.Enabled := false deaktiviert wurde, sich diese Einstellung merkt und demzufolge auch nach Reaktivierung des Tab-Steuerelements deaktiviert bleibt.

Focused

Liefert, ob ein Steuerelement den Tastaturfokus hat.

IstFokussiert := GuiCtrl.Focused

IstFokussiert ist 1, wenn das Steuerelement den Tastaturfokus hat, oder 0 wenn nicht.

Um den gewünschten Effekt zu erzielen, darf das Fenster weder minimiert noch versteckt sein.

Um das aktuell fokussierte Steuerelement in einem GUI-Fenster zu ermitteln, verwenden Sie Gui.FocusedCtrl.

Um ein Steuerelement zu fokussieren, verwenden Sie GuiControl.Focus.

Gui

Liefert das übergeordnete Fenster eines Steuerelements.

GuiObj := GuiCtrl.Gui

GuiObj ist das Gui-Objekt des übergeordneten Fensters.

Hwnd

Liefert das Fensterhandle (HWND) eines Steuerelements.

HWND := GuiCtrl.Hwnd

Name

Liefert oder setzt den expliziten Namen eines Steuerelements.

AktuellerName := GuiCtrl.Name
GuiCtrl.Name := NeuerName

AktuellerName ist der aktuelle Name des Steuerelements, oder eine leere Zeichenkette, wenn es keinen Namen hat. Die V-Option wirkt sich auf die Voreinstellung aus.

NeuerName ist der neue Name des Steuerelements.

Dieser Name kann mit Gui.__Item verwendet werden, um das zugehörige GuiControl-Objekt abzurufen. Der Name wird auch von Gui.Submit verwendet.

Text

Liefert oder setzt den Text oder die Beschriftung eines Steuerelements.

AktuellerText := GuiCtrl.Text
GuiCtrl.Text := NeuerText

AktuellerText und NeuerText hängen vom aktuellen Steuerelement ab. Wenn das Steuerelement weder eine sichtbare Beschriftung noch einen (einzelnen) Textwert hat, wie z.B. bei MonthCal, bezieht sich diese Eigenschaft auf die versteckte Beschriftung des Steuerelements (ähnlich wie bei ControlGetText und ControlSetText). Siehe Beispiel #9 für eine Demonstration.

Button / CheckBox / GroupBox / Link / Radio / Text

AktuellerText und NeuerText sind der aktuelle bzw. neue Beschriftungs-/Anzeigetext. Da sich hierbei die Größe des Steuerelements nicht automatisch erweitert, verwenden Sie GuiControl.Move, um das Steuerelement breiter zu machen.

DateTime

AktuellerText ist der aktuell im Steuerelement angezeigte formatierte Text. NeuerText ist ungültig und löst eine Ausnahme aus. Um das angezeigte Datum und/oder die angezeigte Uhrzeit zu ändern, verwenden Sie GuiControl.Value zum Setzen eines Zeitstempels im YYYYMMDDHH24MISS-Format.

ComboBox / DropDownList / ListBox / Tab

AktuellerText ist der Text des aktuell ausgewählten Elements (Listeneintrag oder Registerkarte), oder leer, wenn nichts ausgewählt ist. Bei einer ComboBox ist das der Text im Eingabefeld, wenn nichts ausgewählt ist. Bei einer Mehrfachauswahl-ListBox ist das ein Array, das den Text jedes ausgewählten Elements enthält, oder leer, wenn nichts ausgewählt ist.

NeuerText ist der vollständige Text (nicht Groß-/Kleinschreibung-sensitiv) eines Elements (Listeneintrag oder Registerkarte), das ausgewählt werden soll. Bei einer Mehrfachauswahl-ListBox werden alle Elemente ausgewählt, die vollständig mit dem Text übereinstimmen. Um mehrere Elemente mit unterschiedlichem Text auszuwählen, rufen Sie GuiControl.Choose wiederholt auf. GuiControl.Value wählt ein Element per Positionsnummer aus.

Edit

AktuellerText und NeuerText sind der aktuelle bzw. neue Text. Wie bei anderen Steuerelementen wird der Text unverändert abgerufen oder gesetzt; es findet keine Zeilenumbruchübersetzung statt. Um den Text eines mehrzeiligen Edit-Steuerelements abzurufen oder zu setzen, inklusive Übersetzung zwischen einem Wagenrücklauf-Zeilenvorschub-Paar (`r`n) und Zeilenvorschub (`n), verwenden Sie GuiControl.Value.

StatusBar

AktuellerText und NeuerText sind der aktuelle bzw. neue Text des ersten Segments. Verwenden Sie StatusBar.SetText für mehr Flexibilität.

Type

Liefert den Typ eines Steuerelements.

AktuellerTyp := GuiCtrl.Type

AktuellerTyp ist je nach Steuerelement eine der folgenden Zeichenketten: ActiveX, Button, CheckBox, ComboBox, Custom, DateTime, DDL, Edit, GroupBox, Hotkey, Link, ListBox, ListView, MonthCal, Pic, Progress, Radio, Slider, StatusBar, Tab, Tab2, Tab3, Text, TreeView, UpDown.

Value

Liefert oder setzt den Inhalt eines wertefähigen Steuerelements.

AktuellerWert := GuiCtrl.Value
GuiCtrl.Value := NeuerWert

AktuellerWert und NeuerWert hängen vom aktuellen Steuerelement ab. Wenn das Steuerelement nicht wertefähig ist, wird AktuellerWert leer sein und die Zuweisung von NeuerWert einen Fehler auslösen. Ungültige Werte lösen eine Ausnahme aus. Siehe Beispiel #2, Beispiel #3, Beispiel #8 oder Beispiel #9 für eine Demonstration.

ActiveX

AktuellerWert ist das ActiveX-Objekt. Wenn das Steuerelement z.B. mit dem Komponentennamen "Shell.Explorer" erstellt wurde, wird das ein WebBrowser-Objekt sein. Es wird immer dasselbe Wrapper-Objekt zurückgegeben. NeuerWert ist ungültig und löst eine Ausnahme aus.

CheckBox / Radio

AktuellerWert und NeuerWert sind die aktuelle bzw. neue Einstellung: 1 für markiert, 0 für unmarkiert oder -1 für unbestimmt. Wenn ein Radio-Steuerelement markiert wird, das zu einer Radiogruppe gehört, werden alle anderen Radio-Steuerelemente in der Gruppe automatisch entmarkiert. Um stattdessen den Text bzw. die Beschriftung des Steuerelements abzurufen oder zu setzen, verwenden Sie GuiControl.Text.

ComboBox / DropDownList / ListBox / Tab

AktuellerWert ist die Positionsnummer des aktuell ausgewählten Elements (Listeneintrag oder Registerkarte), oder 0, wenn nichts ausgewählt ist. Bei einer ComboBox mit eingegebenem Text ist das die Positionsnummer des ersten Elements, das vollständig mit dem Text übereinstimmt (nicht Groß-/Kleinschreibung-sensitiv), oder 0, wenn nichts übereinstimmt. Bei einer Mehrfachauswahl-ListBox ist das ein Array, das die Positionsnummer jedes ausgewählten Elements enthält, oder ein leeres Array, wenn nichts ausgewählt ist.

NeuerWert ist die Positionsnummer des Elements (Listeneintrag oder Registerkarte), das ausgewählt werden soll, oder 0, um die aktuelle Auswahl aufzuheben (dies funktioniert auch mit Tab-Steuerelementen). Um bei einer Mehrfachauswahl-ListBox mehrere Elemente auszuwählen, rufen Sie GuiCtrl.Choose wiederholt auf. GuiControl.Text wählt ein Element per Text aus.

DateTime / MonthCal

AktuellerWert und NeuerWert sind Zeitstempel im YYYYMMDDHH24MISS-Format, die das ausgewählte bzw. auszuwählende Datum/Uhrzeit im Steuerelement repräsentieren. Geben Sie A_Now für NeuerWert an, um das aktuelle Datum/Uhrzeit (heute) zu verwenden. Bei DateTime-Steuerelementen kann NeuerWert leer sein, um das Steuerelement ohne vorab ausgewähltes Datum/Uhrzeit anzuzeigen (wenn es mit dieser Option erstellt wurde). Bei MonthCal-Steuerelementen kann ein Datumsbereich angegeben werden, wenn das Steuerelement eine Mehrfachauswahl unterstützt.

Edit

AktuellerWert ist der aktuelle Inhalt. Bei mehrzeiligen Steuerelementen werden alle Zeilenumbrüche als Zeilenvorschübe (`n) ausgegeben, nicht wie üblich als Wagenrücklauf-Zeilenvorschub-Paare (`r`n), die von Nicht-GUI-Funktionen wie ControlGetText und ControlSetText verwendet werden.

NeuerWert ist der neue Inhalt. Bei mehrzeiligen Steuerelementen wird jeder Zeilenvorschub (`n), dem kein Wagenrücklauf (`r) vorangestellt ist, automatisch in ein Wagenrücklauf-Zeilenvorschub-Paar (`r`n) übersetzt, um eine korrekte Darstellung zu gewährleisten. In der Regel sollte das keine Probleme bereiten, da bei der Verwendung von Gui.Submit oder beim Abrufen des Wertes diese Übersetzung automatisch rückgängig gemacht wird, indem ein Wagenrücklauf-Zeilenvorschub-Paar (`r`n) mit einem Zeilenvorschub (`n) ersetzt wird.

Um den Text ohne Übersetzung zwischen Zeilenvorschub (`n) und Wagenrücklauf-Zeilenvorschub-Paar (`r`n) abzurufen oder zu setzen, verwenden Sie GuiControl.Text.

Hotkey

AktuellerWert und NeuerWert sind Zeichenketten bestehend aus Modifikatoren und einem Tastennamen, die den aktuell angezeigten bzw. anzuzeigenden Hotkey im Steuerelement repräsentieren. Zum Beispiel ^!c, ^Numpad1 oder +Home. AktuellerWert ist leer, wenn im Steuerelement kein Hotkey angegeben ist. NeuerWert kann leer sein, um das Steuerelement zu leeren. Es werden nur die Modifikatoren ^ (STRG), ! (ALT) und + (UMSCHALT) unterstützt. Weitere verfügbare Tastennamen finden Sie in der Tastenliste.

Picture

AktuellerWert ist der Dateiname 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.

NeuerWert ist der Dateiname oder ein Handle des neuen Bildes, das geladen werden soll (siehe Picture, welche Dateitypen unterstützt werden). Direkt vor dem Dateinamen können beliebig viele der folgenden Optionen angegeben werden: *wN (Breite N), *hN (Höhe N) und *IconN (Symbolgruppennummer N in einer DLL- oder EXE-Datei). Zum Beispiel bewirkt "*icon2 *w100 *h-1 C:\Meine Anwendung.exe", dass das Standardsymbol aus der zweiten Symbolgruppe mit einer Breite von 100 Pixel und einer automatischen Höhe via "Seitenverhältnis beibehalten" geladen wird. Geben Sie *w0 *h0 an, um die aktuelle Breite und Höhe des Bildes zu verwenden. Wenn *w und *h weggelassen werden, wird die Größe des Bildes an die Größe des Steuerelements angepasst. Beim Laden eines Symbols aus einer ICO-Datei mit mehreren Symbolen hat die Angabe von Breite und Höhe zudem Einfluss darauf, welches Symbol geladen wird. Hinweis: Verwenden Sie nur ein Leer- oder Tabulatorzeichen zwischen der letzten Option und dem Dateinamen selbst; alle anderen Leer- oder Tabulatorzeichen werden als Teil des Dateinamens interpretiert.

Progress / Slider / UpDown

AktuellerWert und NeuerWert sind die aktuelle bzw. neue Position des Steuerelements. Wenn die neue Position außerhalb des gültigen Wertebereichs liegt, wird das Steuerelement auf den nächstmöglichen gültigen Wert gesetzt.

Text

AktuellerWert und NeuerWert sind der aktuelle bzw. neue Beschriftungs-/Anzeigetext. Da sich hierbei die Größe des Steuerelements nicht automatisch erweitert, verwenden Sie GuiControl.Move, um das Steuerelement breiter zu machen.

Visible

Liefert oder setzt, ob ein Steuerelement sichtbar ist.

IstSichtbar := GuiCtrl.Visible
GuiCtrl.Visible := NeuerZustand

IstSichtbar ist 1, wenn das Steuerelement sichtbar ist, oder 0, wenn versteckt. Die Hidden-Option wirkt sich auf die Voreinstellung aus.

NeuerZustand muss ein boolescher Wert sein. Wenn true, wird das Steuerelement sichtbar gemacht. Wenn false, wird das Steuerelement versteckt.

Bei Tab-Steuerelementen wird das zudem alle Untersteuerelemente verstecken oder sichtbar machen.

Mit GuiCtrl.Enabled := false kann zusätzlich der Tastaturkurzbefehl eines Steuerelements (unterstrichene Buchstabe) deaktiviert werden.

Bemerkungen

Jede hier gelistete Methode und Eigenschaft ist nur für die Verwendung mit Steuerelementen in einem GUI-Fenster vorgesehen, also einem Fenster, das mit der Gui-Funktion erstellt wurde. Für Nicht-GUI-Steuerelemente können Sie die Control-Funktionen verwenden.

GUI-Steuerelemente, Gui-Objekt, GuiCtrlFromHwnd, Control-Funktionen

Beispiele

Ersetzt die aktuelle Liste eines ListBox-Steuerelements mittels GuiControl.Delete und GuiControl.Add.

MeineGui := Gui()
MeineListBox := MeineGui.Add("ListBox",, ["Schwarz", "Weiß"])
MeineGui.Show()
Sleep 1000 ; Warten zu Demonstrationszwecken.
MeineListBox.Delete()
MeineListBox.Add(["Rot", "Grün", "Blau"])

Fügt neuen Text in ein Edit-Steuerelement mittels GuiControl.Value ein.

MeineGui := Gui()
MeinEdit := MeineGui.Add("Edit", "r2 w150", "Alte Textzeile.")
MeineGui.Show()
Sleep 1000 ; Warten zu Demonstrationszwecken.
MeinEdit.Value := "Neue Textzeile 1.`nNeue Textzeile 2."

Markiert ein Radio-Steuerelement, während alle anderen in der Gruppe automatisch entmarkiert werden, mittels GuiControl.Value.

MeineGui := Gui()
MeinRadio1 := MeineGui.Add("Radio", "Checked", "Optionsfeld 1")
MeinRadio2 := MeineGui.Add("Radio",, "Optionsfeld 2")
MeinRadio3 := MeineGui.Add("Radio",, "Optionsfeld 3")
MeineGui.Show()
Sleep 1000 ; Warten zu Demonstrationszwecken.
MeinRadio2.Value := 1

Verschiebt ein Button-Steuerelement an eine neue Position mittels GuiControl.Move.

MeineGui := Gui()
MeinButton := MeineGui.Add("Button",, "OK")
MeineGui.Show("w300 h300")
Sleep 1000 ; Warten zu Demonstrationszwecken.
MeinButton.Move(100, 200)

Verschiebt und ändert die Größe eines Edit-Steuerelements relativ zu dessen aktueller Position und Größe mittels GuiControl.GetPos und GuiControl.Move.

MeineGui := Gui()
MeinEdit := MeineGui.Add("Edit")
MeineGui.Show("w300 h300")
Sleep 1000 ; Warten zu Demonstrationszwecken.
MeinEdit.GetPos(&X, &Y, &W, &H)
MeinEdit.Move(X+10, Y+5, W*2, H*1.5)

Setzt den Tastaturfokus auf ein Edit-Steuerelement mittels GuiControl.Focus.

MeineGui := Gui()
MeineGui.Add("Text", "Section", "Vorname:")
MeineGui.Add("Text",, "Nachname:")
EditVorname := MeineGui.Add("Edit", "ys")
EditNachname := MeineGui.Add("Edit")
MeineGui.Show()
Sleep 1000 ; Warten zu Demonstrationszwecken.
EditNachname.Focus()

Ändert die Schriftart und Textfarbe eines Text-Steuerelements mittels GuiControl.SetFont.

MeineGui := Gui()
MeineGui.SetFont("s14")
MeineGui.Add("Text",, "Das ist ein Test.")
MeinText := MeineGui.Add("Text",, "Das ist ein Test.")
MeineGui.Add("Text",, "Das ist ein Test.")
MeineGui.Show()
Sleep 1000 ; Warten zu Demonstrationszwecken.
MeinText.SetFont("cRed", "Times New Roman")

Ruft den Text eines Edit-Steuerelements mittels GuiControl.Value ab.

MeineGui := Gui()
MeinEdit := MeineGui.Add("Edit",, "Das ist ein Test.")
MeineGui.Show()
MsgBox MeinEdit.Value

Meldet die Beschriftung und den aktuellen Status eines CheckBox-Steuerelements, wenn es angeklickt wird.

MeineGui := Gui()
MeineCheckBox1 := MeineGui.Add("CheckBox",, "Kontrollkästchen 1")
MeineCheckBox2 := MeineGui.Add("CheckBox",, "Kontrollkästchen 2")
MeineCheckBox1.OnEvent("Click", StatusMelden)
MeineCheckBox2.OnEvent("Click", StatusMelden)
MeineGui.Show()

StatusMelden(MeineCheckBox, *)
{
    Beschriftung := MeineCheckBox.Text
    Status := MeineCheckBox.Value
    MsgBox Beschriftung " ist " (Status = 0 ? "unmarkiert" : "markiert")
}

Ruft die Position und Größe eines Picture-Steuerelements mittels GuiControl.GetPos ab und speichert die Werte in die Variablen X, Y, W und H.

MeineGui := Gui()
MeinPicture := MeineGui.Add("Picture",, A_AhkPath)
MeineGui.Show()
MeinPicture.GetPos(&X, &Y, &W, &H)
MsgBox "x" X ", y" Y ", w" W ", h" H