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.
Fügt neue Elemente in einem Multi-Element-Steuerelement (ListBox, DropDownList, ComboBox oder Tab) an.
GuiCtrl.Add(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"].
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.
Selektiert ein Element in einem Multi-Element-Steuerelement (ListBox, DropDownList, ComboBox oder Tab).
GuiCtrl.Choose(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.
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.
Löscht ein oder alle Elemente aus einem Multi-Element-Steuerelement (ListBox, DropDownList, ComboBox oder Tab).
GuiCtrl.Delete(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.
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.
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.
Liefert die Position und Größe eines Steuerelements.
GuiCtrl.GetPos(&X, &Y, &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 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).
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.
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.
Verschiebt ein Steuerelement und/oder ändert dessen Größe.
GuiCtrl.Move(X, Y, Breite, Höhe)
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).
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.
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.
Registriert eine Funktion oder Methode, die aufgerufen wird, wenn eine Steuerelementbenachrichtigung via WM_COMMAND-Meldung empfangen wird.
GuiCtrl.OnCommand(NachrichtCode, Rückruf , HinzufügenEntfernen)
Weitere Informationen finden Sie unter OnCommand.
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.
Registriert eine Funktion oder Methode, die aufgerufen wird, wenn eine Steuerelementbenachrichtigung via WM_NOTIFY-Meldung empfangen wird.
GuiCtrl.OnNotify(NachrichtCode, Rückruf , HinzufügenEntfernen)
Weitere Informationen finden Sie unter OnNotify.
Fügt verschiedene Optionen und Styles hinzu oder entfernt sie.
GuiCtrl.Opt(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.
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.
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.
Ä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.
Liefert die ClassNN (Klassenname und Sequenznummer) eines Steuerelements.
ClassNN := GuiCtrl.ClassNN
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.
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.
Liefert das übergeordnete Fenster eines Steuerelements.
GuiObj := GuiCtrl.Gui
GuiObj ist das Gui-Objekt des übergeordneten Fensters.
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.
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.
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.
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.
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.
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.
AktuellerText und NeuerText sind der aktuelle bzw. neue Text des ersten Segments. Verwenden Sie StatusBar.SetText für mehr Flexibilität.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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