GUI-Steuerelemente sind Interaktionselemente, die via Gui Add in ein GUI-Fenster eingefügt werden können.
Ermöglicht die Einbettung einer ActiveX-Komponente wie das MSIE-Browser-Steuerelement in ein GUI-Fenster.
Syntax:
Gui, Add, ActiveX, Optionen, KomponenteName
Beispiel:
Gui, Add, ActiveX, w980 h640 vWB, Shell.Explorer
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
VName: Die zugeordnete Variable bekommt das ActiveX-Objekt zugewiesen.
Der Name der ActiveX-Komponente.
Mit GuiControlGet kann das ActiveX-Objekt auch abgerufen werden.
Mit ComObjType() kann der Typ des ActiveX-Objekts ermittelt werden.
Mit ComObjConnect() können die Ereignisse des ActiveX-Objekts verarbeitet werden.
Gui-Beispiel #10 zeigt einen einfachen Webbrowser, der mit dem WebBrowser-Steuerelement erstellt wurde.
Auch bekannt als Schaltfläche. Kann gedrückt werden, um eine Aktion auszulösen.
Syntax:
Gui, Add, Button, Optionen, Name
Beispiel:
Gui, Add, Button, Default w80, OK
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
Default: Macht die Schaltfläche zur Standardschaltfläche. Die Aktion der Standardschaltfläche wird jedes Mal automatisch ausgelöst, wenn der Benutzer Enter drückt, es sei denn, der Tastaturfokus liegt auf einer anderen Schaltfläche oder einem mehrzeiligen Eingabefeld mit aktiviertem WantReturn-Style.
GLabel: Das g-Label oder automatische Label wird jedes Mal automatisch gestartet, wenn der Benutzer die Schaltfläche anklickt, oder wenn er Leer oder Enter drückt, während die Schaltfläche den Fokus hat.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der Button-Styles-Tabelle.
Der Anzeigename der Schaltfläche. Kann Zeilenvorschübe (`n) zum Starten neuer Zeilen enthalten.
Ein Und-Zeichen (&) kann verwendet werden, um einen Buchstaben zu unterstreichen, wie z.B. den Buchstaben P in &Pause. Dies ermöglicht dem Benutzer, Alt+P als Tastaturkurzbefehl zu drücken. Um ein Und-Zeichen darzustellen, müssen zwei aufeinanderfolgende Und-Zeichen (&&) angegeben werden.
Wenn die Schaltfläche kein explizites g-Label hat, bekommt die Schaltfläche automatisch ein Label zugewiesen. Enthält das erste GUI-Fenster beispielsweise eine OK-Schaltfläche, wird das ButtonOK-Label (falls vorhanden) beim Drücken der Schaltfläche gestartet. Bei anderen GUI-Fenstern, die nicht das erste sind, muss die Fensternummer vor dem automatischen Label der Schaltfläche angegeben werden, z.B. 2ButtonOK.
Wenn der Schaltflächenname Leerzeichen, Tabulatoren, Zeilenvorschübe (`n), Wagenrückläufe (`r), Und-Zeichen (&) oder umgekehrte Häkchen (`) enthält, werden diese Zeichen beim automatischen Label weggelassen. Zum Beispiel kann für eine Schaltfläche namens "&Pause" das automatische Label ButtonPause verwendet werden. Ebenso kann für eine Schaltfläche namens "Speichern && Beenden" das automatische Label ButtonSpeichernBeenden verwendet werden (die zwei Und-Zeichen dienen zur Darstellung eines einzelnen Und-Zeichens).
Um später die Standardschaltfläche zu ändern, folgen Sie diesem Beispiel, das die Abbrechen-Schaltfläche zum Standard macht: GuiControl, +Default, Abbrechen. Um das Fenster später so zu ändern, dass es keine Standardschaltfläche hat, folgen Sie diesem Beispiel: GuiControl, -Default, OK.
Bekannte Einschränkung: Bestimmte Desktop-Designs können den Text einer Schaltfläche nicht ordnungsgemäß darstellen. Sollte dies der Fall sein, versuchen Sie, -Wrap (minus Wrap) in Optionen einzufügen. Dies verhindert aber auch, dass mehr als eine Textzeile angezeigt wird.
Auch bekannt als Kontrollkästchen. Ein kleines Quadrat zum Setzen oder Entfernen eines Häkchens, um Ein/Aus, Ja/Nein usw. anzugeben.
Syntax:
Gui, Add, CheckBox, Optionen, Beschriftung
Beispiel:
Gui, Add, CheckBox, vSendenAnRechnungsadresse, An Rechnungsadresse versenden?
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
Check3: Aktiviert einen dritten Zustand, der angibt, dass die CheckBox weder markiert noch unmarkiert ist.
Checked: Die CheckBox ist zu Beginn markiert (hat ein Häkchen). Direkt nach dem Wort Checked kann optional 0, 1 oder -1 (oder das Wort Gray) angegeben werden, um den Startzustand (unmarkiert, markiert oder unbestimmt) zu definieren. Mit anderen Worten, Checked ist dasselbe wie Checked%VarMitEins%.
VName: Die zugeordnete Variable bekommt 1 für markiert, 0 für unmarkiert oder -1 für unbestimmt zugewiesen.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer die CheckBox anklickt oder ändert.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der CheckBox-Styles-Tabelle.
Ein Text, der rechts neben dem Kästchen angezeigt wird. Diese Beschriftung dient in der Regel als Aufforderung oder Beschreibung und kann Zeilenvorschübe (`n) zum Starten neuer Zeilen enthalten.
Ein Und-Zeichen (&) kann verwendet werden, um einen Buchstaben zu unterstreichen, wie z.B. den Buchstaben P in &Pause. Dies ermöglicht dem Benutzer, Alt+P als Tastaturkurzbefehl zu drücken. Um ein Und-Zeichen darzustellen, müssen zwei aufeinanderfolgende Und-Zeichen (&&) angegeben werden.
Wenn in Optionen eine Breite (W), aber keine Zeilen (R) oder Höhe (H) angegeben ist, werden Textzeilen bei Bedarf umbrochen und die Höhe des Steuerelements automatisch gesetzt.
Bekannte Einschränkung: Bestimmte Desktop-Designs können den Text einer CheckBox nicht ordnungsgemäß darstellen. Sollte dies der Fall sein, versuchen Sie, -Wrap (minus Wrap) in Optionen einzufügen. Dies verhindert aber auch, dass mehr als eine Textzeile angezeigt wird.
Auch bekannt als Kombinationsfeld. Eine aufklappbare Liste mit Auswahlmöglichkeiten, aber auch ein Eingabefeld zum Eintragen von formatlosem Text als Alternative zur Auswahl eines Listeneintrags.
Syntax:
Gui, Add, ComboBox, Optionen, Einträge
Beispiel:
Gui, Add, ComboBox, vFarbauswahl, Rot|Grün|Blau|Schwarz|Weiß
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
ChooseN: Geben Sie für N die Positionsnummer eines Listeneintrags an, der vorab ausgewählt sein soll. Zum Beispiel bewirkt Choose5, dass der fünfte Listeneintrag vorab ausgewählt wird (wie bei anderen Optionen kann das auch eine Variable sein, z.B. Choose%Var%). Mit GuiControl kann, nachdem das Steuerelement erstellt wurde, die aktuelle Auswahl geändert oder Listeneinträge hinzugefügt/entfernt werden.
Uppercase oder Lowercase: Wandelt alle Listeneinträge in Groß- oder Kleinbuchstaben um.
Sort: Sortiert die Listeneinträge automatisch in alphabetischer Reihenfolge, was auch Einfluss auf Listeneinträge hat, die nachträglich via GuiControl hinzugefügt werden. Die Sort-Option ermöglicht auch eine inkrementelle Suche, wenn die Liste aufgeklappt ist; diese Suche erlaubt die Auswahl eines Listeneintrags durch Eingabe der ersten Zeichen seines Namens.
Limit: Beschränkt die Benutzereingabe auf die sichtbare Breite des Eingabefelds der ComboBox.
Simple: Veranlasst die ComboBox, sich so zu verhalten, als sei sie ein Eingabefeld mit einer ListBox darunter.
VName: Die zugeordnete Variable bekommt den Text des aktuell ausgewählten Listeneintrags zugewiesen. Wenn das Steuerelement allerdings die AltSubmit-Option hat, bekommt die Variable stattdessen die Positionsnummer des Listeneintrags zugewiesen (der erste Eintrag ist 1, der zweite 2 und so weiter). In beiden Fällen wird, wenn kein Listeneintrag ausgewählt ist, die Variable auf den Inhalt des Eingabefelds der ComboBox gesetzt.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer einen neuen Listeneintrag auswählt oder den Text des Steuerelements ändert.
Wn: Setzt die Breite des Steuerelements. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite standardmäßig das 15-fache der aktuellen Schriftgröße.
Rn oder Hn: Setzt die Höhe der aufklappbaren Liste. Zum Beispiel bewirkt r7, dass die Liste 7 Zeilen hoch gemacht wird, oder h400, dass die Gesamthöhe von Auswahlfeld und Liste auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, wird die Liste automatisch auf Basis der verfügbaren Höhe des Desktops vergrößert (aber in Betriebssystemen älter als Windows XP wird die Liste standardmäßig 3 Zeilen hoch gemacht).
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der ComboBox-Styles-Tabelle.
Eine via Vertikalstrich getrennte Liste von Einträgen wie z.B. Rot|Grün|Blau. Um sicherzustellen, dass beim ersten Erscheinen des Fensters einer der Listeneinträge vorab ausgewählt ist, fügen Sie ihm zwei Vertikalstriche an, z.B. Rot|Grün||Blau, oder verwenden Sie die Choose-Option.
Das folgende Beispiel zeigt, wie die Höhe des Auswahlfeldes oder die Höhe jedes Listeneintrags mit der CB_SETITEMHEIGHT-Meldung geändert werden kann:
Gui, Add, ComboBox, vcbx w200 hwndhcbx, Eins||Zwei ; CB_SETITEMHEIGHT = 0x0153 SendMessage, 0x0153, -1, 50,, ahk_id %hcbx% ; Höhe des Auswahlfeldes setzen. SendMessage, 0x0153, 0, 50,, ahk_id %hcbx% ; Höhe jedes Listeneintrags setzen. Gui, Show, h70, Test
Das Trennzeichen zwischen den Feldern kann mit der GUI-Option +Delimiter auf etwas anderes als den Vertikalstrich geändert werden. Zum Beispiel kann es mit Gui +Delimiter`n in einen Zeilenvorschub (`n) oder mit Gui +DelimiterTab in einen Tabulator (`t) geändert werden.
Wenn Sie das Öffnen und Schließen der aufklappbaren Liste später automatisieren möchten, verwenden Sie Control ShowDropDown und Control HideDropDown.
Ermöglicht die Einbettung eines AutoHotkey-fremden Steuerelements in ein GUI-Fenster.
Syntax:
Gui, Add, Custom, Optionen, Text
Beispiel:
Gui, Add, Custom, ClassComboBoxEx32
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
ClassName: Geben Sie für Name den Win32-Klassennamen des gewünschten Steuerelements an. Zum Beispiel ClassComboBoxEx32, das ein ComboBoxEx-Steuerelement hinzufügt, oder ClassScintilla, das ein Scintilla-Steuerelement hinzufügt (beachten Sie, dass die Bibliothek SciLexer.dll zuvor geladen sein muss).
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn das Skript ein vom Steuerelement kommendes Ereignis erfasst. Weitere Informationen finden Sie unter Custom: Benachrichtigungen.
Wn: Setzt die Breite des Steuerelements. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite standardmäßig das 30-fache der aktuellen Schriftgröße.
Rn oder Hn: Setzt die Höhe des Steuerelements. Zum Beispiel bewirkt r7, dass im Steuerelement Platz für 7 Zeilen geschaffen wird, oder h400, dass die Gesamthöhe des Steuerelements auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, ist die Höhe standardmäßig 5 Zeilen.
Beliebiger Text. Je nach Typ des benutzerdefinierten Steuerelements kann es vorkommen, dass der Text ignoriert wird.
AutoHotkey verwendet die Standard-Textroutinen des Systems beim Abrufen/Setzen von Texten im Steuerelement via Gui Add, GuiControl oder GuiControlGet.
Es ist möglich, ein g-Label wie z.B. gMeineSubroutine in Optionen anzugeben, um Ereignisse des Steuerelements abzufangen und zu verarbeiten. Diese Subroutine kann die internen Variablen A_Gui und A_GuiControl verwenden. Noch wichtiger ist, dass sie A_GuiEvent verwenden kann, die eine der folgenden Zeichenketten enthält (aus Kompatibilitätsgründen mit zukünftigen Versionen sollte ein Skript nicht davon ausgehen, dass das die einzig möglichen Werte sind):
HIWORD(wParam) in C/C++).Gui-Beispiel #11 zeigt, wie man ein IP-Adressen-Steuerelement hinzufügt und verwendet.
Ein Eingabefeld, das der Benutzer zur Eingabe eines Datums und/oder einer Uhrzeit verwenden kann. Ein aufklappbarer Kalender ist ebenfalls vorhanden.
Syntax:
Gui, Add, DateTime, Optionen, Format
Beispiel:
Gui, Add, DateTime, vMeinDateTime, LongDate
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
ChooseZeitstempel: Geben Sie für Zeitstempel ein Datum im YYYYMMDD-Format an, wenn ein anderes Datum als das heutige vorab ausgewählt sein soll. Zum Beispiel bewirkt Choose20050531, dass der 31. Mai 2005 vorab ausgewählt wird (wie bei anderen Optionen kann das auch eine Variable sein, z.B. Choose%Var%). Die Tageszeit kann ebenfalls angegeben werden (Einzelheiten finden Sie unten in den Bemerkungen). Geben Sie für Zeitstempel das Wort None an, um das Steuerelement ohne vorab ausgewähltes Datum anzuzeigen. ChooseNone stattet das Steuerelement zudem mit einem Kontrollkästchen aus, das unmarkiert ist, wenn kein Datum ausgewählt ist. Wenn kein Datum ausgewählt ist, bekommt die zugeordnete Variable des Steuerelements (falls vorhanden) einen leeren Wert (leere Zeichenkette) zugewiesen.
RangeMinMax: Beschränkt die Datumsauswahl auf einem bestimmten Zeitraum. Geben Sie für MinMax das Start- und Enddatum im YYYYMMDD-Format an (mit einem Bindestrich dazwischen). Zum Beispiel bewirkt Range20050101-20050615, dass nur ein Datum innerhalb der ersten 5,5 Monate des Jahres 2005 ausgewählt werden kann. Das Start- oder Enddatum kann weggelassen werden, um die Auswahl im Steuerelement nur in eine Richtung zu beschränken. Zum Beispiel bewirkt Range20010101, dass kein Datum vor 2001 ausgewählt werden kann, oder Range-20091231 (Bindestrich am Anfang), dass kein Datum nach 2009 ausgewählt werden kann. Fehlt diese Option, kann ein beliebiges Datum zwischen den Jahren 1601 und 9999 ausgewählt werden. Die Tageszeit kann nicht beschränkt werden.
Right: Bewirkt, dass der Kalender auf der rechten statt linken Seite des Steuerelements aufgeklappt wird.
1: Stellt rechts neben dem Steuerelement ein UpDown-Steuerelement zum Ändern von Datum-Zeit-Werten zur Verfügung, das die Schaltfläche zum Aufklappen des Monatskalenders ersetzt. Diese Option funktioniert nicht in Verbindung mit dem LongDate-Format.
2: Stattet das Steuerelement mit einem Kontrollkästchen aus, das der Benutzer verwenden kann, um kein ausgewähltes Datum anzugeben. Diese Option kann nach der Erstellung des Steuerelements nicht mehr geändert werden.
VName: Die zugeordnete Variable bekommt das Datum und die Uhrzeit des aktuell ausgewählten Feldes im YYYYMMDDHH24MISS-Format zugewiesen. Datum und Uhrzeit sind immer vorhanden, egal ob diese im Steuerelement tatsächlich sichtbar sind oder nicht.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer das Datum oder die Uhrzeit ändert. Jeder Start aktualisiert die zugeordnete Variable des Steuerelements (falls vorhanden).
Wn: Setzt die Breite des Steuerelements. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite standardmäßig das 30-fache der aktuellen Schriftgröße.
Rn oder Hn: Setzt die Höhe des Steuerelements. Zum Beispiel bewirkt r7, dass im Steuerelement Platz für 7 Zeilen geschaffen wird, oder h400, dass die Gesamthöhe des Steuerelements auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, ist die Höhe standardmäßig 1 Zeile.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der DateTime-Styles-Tabelle.
Wenn leer oder weggelassen, wird standardmäßig das kurze Datumsformat gemäß den aktuellen Sprach- und Regionseinstellungen des Benutzers verwendet. Zum Beispiel: 01.06.2005. Andernfalls geben Sie eines der folgenden Formate an:
LongDate: Verwendet das lange Datumsformat gemäß den aktuellen Sprach- und Regionseinstellungen des Benutzers. Zum Beispiel: Mittwoch, 1. Juni 2005
Time: Verwendet das Zeitformat gemäß den aktuellen Sprach- und Regionseinstellungen des Benutzers. Obwohl das Datum nicht angezeigt wird, ist es im Steuerelement vorhanden und wird zusammen mit der Zeit im YYYYMMDDHH24MISS-Format abgerufen. Zum Beispiel: 21:37:45
(benutzerdefiniertes Format): Geben Sie eine beliebige Kombination von Datums- und Zeitformaten an. Zum Beispiel bewirkt d.M.yy HH:mm, dass 1.6.05 21:37 angezeigt wird, oder dddd MMMM d, yyyy hh:mm:ss, dass Mittwoch Juni 1, 2005 09:37:45 angezeigt wird. Buchstaben und Zahlen, die direkt angezeigt werden sollen, müssen wie folgt in einfache Anführungszeichen gesetzt werden: 'Datum:' dd.MM.yy 'Zeit:' hh:mm:ss tt. Nicht-alphanumerische Zeichen wie Leerzeichen, Tabulatoren, Schrägstriche, Doppelpunkte, Kommas und andere Satzzeichen müssen hingegen nicht in einfache Anführungszeichen gesetzt werden. Eine Ausnahme bildet das einfache Anführungszeichen selbst: Um es darzustellen, sind vier aufeinanderfolgende einfache Anführungszeichen ('''') erforderlich, oder nur zwei, wenn das Anführungszeichen bereits von einem äußeren Anführungszeichenpaar umschlossen ist.
Die Tageszeit kann ebenfalls bei der Choose-Option angegeben werden. Allerdings genügt es nicht, nur die Zeit anzugeben – das Datum muss ebenfalls vorhanden sein. Das Format der Zeitkomponente ist HH24MISS (Stunden, Minuten, Sekunden), wobei HH24 für das 24-Stunden-Format steht, z.B. 09 für 9 Uhr morgens oder 21 für 9 Uhr abends. Die resultierende Datum-Zeit-Zeichenkette ist im YYYYMMDDHH24MISS-Format.
Bei Datumsangaben im YYYYMMDDHH24MISS-Format ist nur der beginnende Teil erforderlich. Die restlichen weggelassenen Elemente werden mit folgenden Standardwerten ersetzt: MM mit Monat 01, DD mit Tag 01, HH24 mit Stunde 00, MI mit Minute 00 und SS mit Sekunde 00.
Das Heute-Feld im unteren Bereich des aufklappbaren Kalenders kann angeklickt werden, um das heutige Datum auszuwählen. Das Monat-Jahr-Feld im oberen Bereich ist nützlich, um zu einem anderen Monat oder Jahr zu navigieren.
Die Farben der Tageszahlen im aufklappbaren Kalender richten sich nach den Farben, die via Gui Font oder C-Option festgelegt wurden, sofern der aufklappbare Kalender das klassische Design hat (was nur zutrifft, wenn man Windows XP oder älter verwendet; -Theme funktioniert hier nicht). Um die Farben eines beliebigen Bereichs des aufklappbaren Kalenders zu ändern, gehen Sie wie folgt vor:
Gui +LastFound SendMessage, 0x1006, 4, 0xFFAA99, SysDateTimePick321 ; 0x1006 ist DTM_SETMCCOLOR. 4 ist MCSC_MONTHBK (Hintergrundfarbe). Die Farbe muss im BGR- statt RGB-Format angegeben werden (Rot- und Blauanteile sind vertauscht).
Auch bekannt als Dropdownliste. Eine aufklappbare Liste mit Auswahlmöglichkeiten.
Syntax:
Gui, Add, DropDownList, Optionen, Einträge
Beispiel:
Gui, Add, DropDownList, vFarbauswahl, Schwarz|Weiß|Rot|Grün|Blau
Erscheinungsbild:
Der Name des Steuerelements kann entweder DropDownList oder DDL sein.
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
ChooseN: Geben Sie für N die Positionsnummer eines Listeneintrags an, der vorab ausgewählt sein soll. Zum Beispiel bewirkt Choose5, dass der fünfte Listeneintrag vorab ausgewählt wird (wie bei anderen Optionen kann das auch eine Variable sein, z.B. Choose%Var%). Mit GuiControl kann, nachdem das Steuerelement erstellt wurde, die aktuelle Auswahl geändert oder Listeneinträge hinzugefügt/entfernt werden.
Uppercase oder Lowercase: Wandelt alle Listeneinträge in Groß- oder Kleinbuchstaben um.
Sort: Sortiert die Listeneinträge automatisch in alphabetischer Reihenfolge, was auch Einfluss auf Listeneinträge hat, die nachträglich via GuiControl hinzugefügt werden. Die Sort-Option ermöglicht auch eine inkrementelle Suche, wenn die Liste aufgeklappt ist; diese Suche erlaubt die Auswahl eines Listeneintrags durch Eingabe der ersten Zeichen seines Namens.
VName: Die zugeordnete Variable bekommt den Text des aktuell ausgewählten Listeneintrags zugewiesen. Wenn das Steuerelement allerdings die AltSubmit-Option hat, bekommt die Variable stattdessen die Positionsnummer des Listeneintrags zugewiesen (der erste Eintrag ist 1, der zweite 2 und so weiter).
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer einen neuen Listeneintrag auswählt.
Wn: Setzt die Breite des Steuerelements. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite standardmäßig das 15-fache der aktuellen Schriftgröße.
Rn oder Hn: Setzt die Höhe der aufklappbaren Liste. Zum Beispiel bewirkt r7, dass die Liste 7 Zeilen hoch gemacht wird, oder h400, dass die Gesamthöhe von Auswahlfeld und Liste auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, wird die Liste automatisch auf Basis der verfügbaren Höhe des Desktops vergrößert (aber in Betriebssystemen älter als Windows XP wird die Liste standardmäßig 3 Zeilen hoch gemacht).
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der DropDownList-Styles-Tabelle.
Eine via Vertikalstrich getrennte Liste von Einträgen wie z.B. Rot|Grün|Blau. Um sicherzustellen, dass beim ersten Erscheinen des Fensters einer der Listeneinträge vorab ausgewählt ist, fügen Sie ihm zwei Vertikalstriche an, z.B. Rot|Grün||Blau, oder verwenden Sie die Choose-Option.
Das folgende Beispiel zeigt, wie die Höhe des Auswahlfeldes oder die Höhe jedes Listeneintrags mit der CB_SETITEMHEIGHT-Meldung geändert werden kann:
Gui, Add, DDL, vcbx w200 hwndhcbx, Eins||Zwei ; CB_SETITEMHEIGHT = 0x0153 SendMessage, 0x0153, -1, 50,, ahk_id %hcbx% ; Höhe des Auswahlfeldes setzen. SendMessage, 0x0153, 0, 50,, ahk_id %hcbx% ; Höhe jedes Listeneintrags setzen. Gui, Show, h70, Test
Das Trennzeichen zwischen den Feldern kann mit der GUI-Option +Delimiter auf etwas anderes als den Vertikalstrich geändert werden. Zum Beispiel kann es mit Gui +Delimiter`n in einen Zeilenvorschub (`n) oder mit Gui +DelimiterTab in einen Tabulator (`t) geändert werden.
Wenn Sie das Öffnen und Schließen der aufklappbaren Liste später automatisieren möchten, verwenden Sie Control ShowDropDown und Control HideDropDown.
Auch bekannt als Eingabefeld. Ein Feld, das der Benutzer zur Eingabe eines formatlosen Textes verwenden kann.
Syntax:
Gui, Add, Edit, Optionen, Text
Beispiel:
Gui, Add, Edit, r9 vMeinEdit w135, Der Text innerhalb des Eingabefelds (lassen Sie diesen Parameter weg, um ein leeres Feld anzuzeigen).
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
LimitN: Beschränkt die Benutzereingabe. Wenn N weggelassen wird, wird die Eingabe auf die sichtbare Breite des Eingabefelds beschränkt. Andernfalls geben Sie für N eine bestimmte Anzahl von Zeichen an, um die Eingabe zu limitieren. Zum Beispiel bewirkt Limit10, dass der Benutzer nur maximal 10 Zeichen in das Eingabefeld eintragen kann.
Uppercase oder Lowercase: Alle Zeichen, die der Benutzer einträgt, werden automatisch in Groß- oder Kleinbuchstaben umgewandelt.
Multi: Ermöglicht mehr als eine Textzeile im Eingabefeld. In der Regel kann diese Option weggelassen werden, weil das Steuerelement automatisch als mehrzeilig erkannt wird, wenn Text mehrere Zeilen enthält, die Höhe des Steuerelements größer als seine Standardzeilenhöhe ist, oder die Zeilenanzahl des Steuerelements explizit größer als 1 ist. Zum Beispiel bewirkt r3 in Optionen, dass ein dreizeiliges Eingabefeld standardmäßig mit folgenden Eigenschaften erstellt wird: vertikaler Scrollbalken; automatischer Zeilenumbruch; Enter erzeugt einen Zeilenumbruch, anstatt die Standardschaltfläche des Fensters auszulösen.
Number: Verhindert, dass der Benutzer etwas anderes als Zahlen in das Feld eintragen kann (es ist aber immer noch möglich, nicht-numerische Werte via Zwischenablage einzufügen). Eine numerische Benutzereingabe kann auch durch Anfügen eines UpDown-Steuerelements an das Eingabefeld erzwungen werden.
Password: Maskiert die Benutzereingabe (z.B. für eine Passworteingabe), d.h. alle Zeichen, die der Benutzer einträgt, werden mit einem Maskierungszeichen ersetzt. Wenn Sie ein anderes Maskierungszeichen benötigen, geben Sie es direkt nach dem Wort Password an. Zum Beispiel bewirkt Password*, dass das Sternchen als Maskierungszeichen verwendet wird, nicht der seit Windows XP übliche ausgefüllte Kreis. Beachten Sie, dass diese Option nicht mit mehrzeiligen Eingabefeldern funktioniert.
ReadOnly: Verhindert, dass der Benutzer den Inhalt des Steuerelements ändern kann. Der Text kann jedoch immer noch gescrollt, markiert und in die Zwischenablage kopiert werden.
Tn: Setzt Tabstopps innerhalb eines mehrzeiligen Eingabefelds (Tabstopps sind Sprungmarken für direkt geschriebene Tabulatorzeichen und ermöglichen so eine spaltenweise Formatierung des Textes). Wenn die T-Option nicht verwendet wird, werden Tabstopps auf je 32 Dialogeinheiten gesetzt (die Breite jeder "Dialogeinheit" ist systemintern festgelegt). Wenn die T-Option nur einmal verwendet wird, werden Tabstopps auf je n Dialogeinheiten innerhalb der verfügbaren Breite des Steuerelements gesetzt. Zum Beispiel bewirkt t64 eine Verdopplung des Standardabstands zwischen den Tabstopps. Um benutzerdefinierte Tabstopps zu setzen, geben Sie die T-Option mehrmals an, z.B. t8 t16 t32 t64 t128. Für jede absolute Spaltenposition in der Liste wird ein Tabstopp gesetzt, bis zu einem Maximum von 50 Tabstopps.
WantCtrlA [v1.0.44+]: Geben Sie -WantCtrlA (minus WantCtrlA) an, um zu verhindern, dass der Benutzer den gesamten Text im Steuerelement mit Strg+A markieren kann.
WantReturn: Geben Sie -WantReturn (minus WantReturn) an, um zu verhindern, dass Enter von einem mehrzeiligen Eingabefeld erfasst wird. Das Drücken von Enter wäre dann das gleiche wie, als würde man die Standardschaltfläche des Fensters (falls vorhanden) drücken. Um trotzdem eine neue Zeile zu beginnen, kann der Benutzer Strg+Enter drücken.
WantTab: Bewirkt, dass Tab ein Tabulatorzeichen erzeugt, anstatt zum nächsten Steuerelement zu navigieren. Wenn diese Option nicht angegeben ist, kann der Benutzer Strg+Tab drücken, um ein Tabulatorzeichen innerhalb eines mehrzeiligen Eingabefelds zu erzeugen. Beachten Sie, dass WantTab auch in einem einzeiligen Eingabefeld funktioniert, allerdings wird in Windows XP und älter jedes Tabulatorzeichen als leeres Rechteck dargestellt (aber immer noch als echtes Tabulatorzeichen gespeichert).
Wrap: Geben Sie -Wrap (minus Wrap) an, um den automatischen Zeilenumbruch in einem mehrzeiligen Eingabefeld zu deaktivieren. Dieser Style kann nach der Erstellung des Steuerelements nicht mehr geändert werden. Um es dennoch zu tun, gibt es folgende Möglichkeiten: 1) Zerstören Sie das Fenster und erstellen Sie es danach neu; oder 2) Erstellen Sie zwei überlappende Eingabefelder, eines mit automatischem Zeilenumbruch und das andere ohne. Der derzeit nicht verwendete kann leer gelassen und/oder versteckt werden.
VName: Die zugeordnete Variable bekommt den Inhalt des Steuerelements zugewiesen.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer den Inhalt des Steuerelements ändert.
Wn: Setzt die Breite des Steuerelements. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite eines leeren Eingabefelds standardmäßig das 15-fache der aktuellen Schriftgröße. Ein nicht-leeres Eingabefeld wird standardmäßig auf die Breite der längsten Zeile gesetzt.
Rn oder Hn: Setzt die Höhe des Steuerelements. Zum Beispiel bewirkt r7, dass im Steuerelement Platz für 7 Zeilen geschaffen wird, oder h400, dass die Gesamthöhe des Steuerelements auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, ist die Höhe eines einzeiligen Eingabefelds standardmäßig 1 Zeile, während ein leeres mehrzeiliges Eingabefeld standardmäßig eine Höhe von 3 Zeilen hat. Ein nicht-leeres Eingabefeld hat standardmäßig eine Höhe, die sich nach der Anzahl der enthaltenen Zeilen richtet.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der Edit-Styles-Tabelle.
Wenn leer oder weggelassen, ist das Steuerelement anfangs leer. Andernfalls geben Sie den Text an, der im Steuerelement erscheinen soll.
Um eine neue Zeile zu beginnen, fügen Sie entweder einen einzelnen Zeilenvorschub (`n) oder ein Wagenrücklauf-Zeilenvorschub-Paar (`r`n) ein. Beide Varianten erzeugen Wagenrücklauf-Zeilenvorschub-Paare (`r`n) innerhalb des Eingabefelds. Wenn allerdings der Inhalt des Steuerelements in dessen zugeordnete Variable (falls vorhanden) gespeichert wird, wird jedes Wagenrücklauf-Zeilenvorschub-Paar (`r`n) immer in einen einzelnen Zeilenvorschub (`n) übersetzt. Außerdem kann via Fortsetzungsbereich eine lange Zeile in mehrere kurze Zeilen aufgeteilt werden.
Da es sich um den letzten Parameter handelt, müssen Kommas nicht mit einem Escapezeichen versehen werden. Dieser Sachverhalt gilt auch für den letzten Parameter aller anderen Befehle.
Ein beim Schreiben verursachter automatischer Zeilenumbruch, sofern aktiv (Standard bei mehrzeiligen Eingabefeldern), ist rein visueller Natur – es werden keine Zeilenvorschubzeichen erzeugt (nur Enter ist dazu in der Lage).
Um eine Textdatei in ein Eingabefeld zu laden, verwenden Sie FileRead und GuiControl:
Gui, Add, Edit, R20 vMeinEdit FileRead, DateiInhalt, C:\Meine Datei.txt GuiControl,, MeinEdit, %DateiInhalt%
HiEdit ist ein kostenloses, mehrtabbiges Steuerelement zum Editieren großer Text- oder Binärdateien, das sehr wenig Speicher verbraucht.
Ein rechteckiger Rahmen, der in der Regel mehrere Steuerelemente umschließt, um ihre Zusammengehörigkeit zu verdeutlichen.
Syntax:
Gui, Add, GroupBox, Optionen, Titel
Beispiel:
Gui, Add, GroupBox, w200 h100, Geographische Kriterien
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
Wrap: Bewirkt, dass Titel mehr als eine Textzeile haben kann.
Wn: Setzt die Breite des Steuerelements. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite standardmäßig das 15-fache der aktuellen Schriftgröße plus das 2-fache des X-Abstands.
Rn oder Hn: Setzt die Höhe des Steuerelements. Zum Beispiel bewirkt r7, dass im Steuerelement Platz für 7 Zeilen geschaffen wird, oder h400, dass die Gesamthöhe des Steuerelements auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, ist die Höhe standardmäßig 2 Zeilen.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der GroupBox-Styles-Tabelle.
Der Titel wird in der oberen linken Ecke des Rahmens angezeigt, sofern angegeben.
Ein Und-Zeichen (&) kann verwendet werden, um einen Buchstaben zu unterstreichen, wie z.B. den Buchstaben K in &Kriterien. Dies ermöglicht dem Benutzer, den Tastaturkurzbefehl Alt+K zu drücken, um den Tastaturfokus auf das erste eingabefähige Steuerelement zu setzen, das nach dem GroupBox-Steuerelement erstellt wurde. Um ein Und-Zeichen darzustellen, müssen zwei aufeinanderfolgende Und-Zeichen (&&) angegeben werden.
Ein Feld, das der Benutzer zur Eingabe einer Tastenkombination verwenden kann. Wenn der Benutzer z.B. Strg+Alt+C drückt, wird "STRG + ALT + C" im Eingabefeld angezeigt.
Syntax:
Gui, Add, Hotkey, Optionen, TasteName
Beispiel:
Gui, Add, Hotkey, vMeineKombi, ^!c
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
LimitN: Geben Sie für N die Summe einer oder mehrerer der folgenden Zahlen an, um die Benutzereingabe auf bestimmte Tastenkombinationen zu beschränken: 1 ignoriert Tasten ohne Modifikatoren, 2 ignoriert nur Umschalt-modifizierte Tasten, 4 ignoriert nur Strg-modifizierte Tasten, 8 ignoriert nur Alt-modifizierte Tasten, 16 ignoriert Umschalt+Strg-modifizierte Tasten, 32 ignoriert Umschalt+Alt-modifizierte Tasten und 128 ignoriert Umschalt+Strg+Alt-modifizierte Tasten (64 wird nicht unterstützt; verhält sich falsch). Zum Beispiel bewirkt Limit1, dass der Benutzer keine modifikatorlosen Tastenkombinationen wie z.B. Buchstaben und Zahlen eingeben kann, oder Limit15, dass der Benutzer mindestens zwei Modifikatortasten drücken muss. Gibt der Benutzer eine verbotene Modifikatorkombination ein, wird diese automatisch und visuell mit Strg+Alt ersetzt.
VName: Die zugeordnete Variable bekommt eine Zeichenkette bestehend aus Modifikatorsymbolen und dem Tastennamen zugewiesen. Diese Zeichenkette ist kompatibel mit dem Hotkey-Befehl. Beispiele: ^!c, +!Home, +^Down, ^Numpad1, !NumpadEnd. Wenn das Steuerelement keine Tastenkombination enthält, wird die Variable leer gemacht.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer die Tastenkombination ändert. Jeder Start aktualisiert die zugeordnete Variable des Steuerelements (falls vorhanden). Beachten Sie, dass das g-Label auch bei einer unvollständigen Tastenkombination gestartet wird. Wenn der Benutzer z.B. Strg gedrückt hält, wird das g-Label einmal gestartet und ein Zirkumflex (^) in die Variable gespeichert. Wenn der Benutzer dann die Tastenkombination vervollständigt, wird das g-Label erneut gestartet und die vollständige Kombination in die Variable gespeichert.
Wn: Setzt die Breite des Steuerelements. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite standardmäßig das 15-fache der aktuellen Schriftgröße.
Rn oder Hn: Setzt die Höhe des Steuerelements. Zum Beispiel bewirkt r7, dass im Steuerelement Platz für 7 Zeilen geschaffen wird, oder h400, dass die Gesamthöhe des Steuerelements auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, ist die Höhe standardmäßig 1 Zeile.
Wenn leer oder weggelassen, ist das Steuerelement anfangs leer. Andernfalls geben Sie die Modifikatoren und den Tastennamen der Tastenkombination an, die im Steuerelement erscheinen soll. Zum Beispiel ^!p für "STRG + ALT + P". Es werden nur die Modifikatoren ^ (STRG), ! (ALT) und + (UMSCHALT) unterstützt. Weitere verfügbare Tastennamen finden Sie in der Tastenliste.
Einige Tasten werden unter demselben Namen angezeigt, aber unter verschiedenen Namen abgerufen. Zum Beispiel wird sowohl ^Numpad7 als auch ^NumpadHome als "STRG + 7 (ZEHNERTASTATUR)" angezeigt.
Das Hotkey-Steuerelement hat nur begrenzte Möglichkeiten. Es unterstützt z.B. keine Maus/Controller-Tastenkombinationen oder Win (LWin und RWin). Stellen Sie stattdessen Kontrollkästchen bereit, die der Benutzer anklicken kann, um zusätzliche Modifikatoren wie z.B. Win anzugeben.
Ein Textsteuerelement, das Links enthalten kann, die denen in einem Webbrowser ähneln.
Syntax:
Gui, Add, Link, Optionen, Zeichenkette
Beispiel:
Gui, Add, Link,, Das ist ein <a href="https://www.autohotkey.com">Link</a> Gui, Add, Link,, Links können überall im Text angegeben werden, wie <a id="A">hier</a> oder <a id="B">dort</a>
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer einen Link ohne HREF-Attribut anklickt oder wenn der Befehl oder die URL nicht ausgeführt werden konnte. Das g-Label kann die folgenden internen Variablen verwenden: A_GuiEvent enthält den Typ des Ereignisses (derzeit immer das Wort Normal), A_EventInfo enthält die 1-basierte Positionsnummer des Links, und ErrorLevel enthält den Wert des HREF-Attributs (falls vorhanden) des angeklickten Links, andernfalls den Wert des ID-Attributs oder eine leere Zeichenkette.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der Link-Styles-Tabelle.
Eine Zeichenkette, die angezeigt werden soll. Umschließen Sie einen beliebigen Textabschnitt mit <A> und </A>, um einen anklickbaren Link zu erzeugen, optional mit einem ID- und/oder HREF-Attribut. Die Zeichenkette kann Zeilenvorschübe (`n) zum Starten neuer Zeilen enthalten. Außerdem kann via Fortsetzungsbereich eine lange Zeile in mehrere kurze Zeilen aufgeteilt werden.
Ein Und-Zeichen (&) kann verwendet werden, um einen Buchstaben zu unterstreichen, wie z.B. den Buchstaben V in &Vorname. Dies ermöglicht dem Benutzer, den Tastaturkurzbefehl Alt+V zu drücken, um den Tastaturfokus auf das erste eingabefähige Steuerelement zu setzen, das nach dem Link-Steuerelement erstellt wurde. Um ein Und-Zeichen darzustellen, müssen zwei aufeinanderfolgende Und-Zeichen (&&) angegeben werden.
Da es sich um den letzten Parameter handelt, müssen Kommas nicht mit einem Escapezeichen versehen werden. Dieser Sachverhalt gilt auch für den letzten Parameter aller anderen Befehle.
Obwohl es wie HTML aussieht, unterstützen Link-Steuerelemente nur den Start-Tag <A> (optional mit einem ID- und/oder HREF-Attribut) und den End-Tag </A>.
Wenn das HREF-Attribut angegeben ist und einen gültigen Wert in Form eines ausführbaren Befehls oder einer URL enthält, wird dieser ausgeführt, als wäre er dem Run-Befehl übergeben worden. Allerdings kann ein ausführbarer Befehl keine doppelten Anführungszeichen enthalten. Eine URL kann in der Regel prozentkodierte Zeichen wie `%22 enthalten, allerdings werden diese nicht vom Link-Steuerelement, sondern vom Webbrowser des Benutzers interpretiert.
Wenn in Optionen eine Breite (W), aber keine Zeilen (R) oder Höhe (H) angegeben ist, werden Textzeilen bei Bedarf umbrochen und die Höhe des Steuerelements automatisch gesetzt.
Auch bekannt als Listenfeld. Eine Liste mit Auswahlmöglichkeiten.
Syntax:
Gui, Add, ListBox, Optionen, Einträge
Beispiel:
Gui, Add, ListBox, r5 vFarbauswahl, Rot|Grün|Blau|Schwarz|Weiß
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
ChooseN: Geben Sie für N die Positionsnummer eines Listeneintrags an, der vorab ausgewählt sein soll. Zum Beispiel bewirkt Choose5, dass der fünfte Listeneintrag vorab ausgewählt wird (wie bei anderen Optionen kann das auch eine Variable sein, z.B. Choose%Var%). Mit GuiControl kann, nachdem das Steuerelement erstellt wurde, die aktuelle Auswahl geändert oder Listeneinträge hinzugefügt/entfernt werden.
Multi oder 0x8: Ermöglicht die Auswahl mehrerer Listeneinträge mit UMSCHALT- oder STRG-modifizierten Klicks. 0x8 ermöglicht dasselbe, aber ohne Drücken eines Modifikators. Wenn diese Option vorhanden ist, bekommt die zugeordnete Variable des Steuerelements (falls vorhanden) eine via Vertikalstrich getrennte Liste aller ausgewählten Listeneinträge unter Einbeziehung ihrer Texte zugewiesen. Mit AltSubmit bekommt die Variable stattdessen eine Liste von Einträgen unter Einbeziehung ihrer Positionsnummern zugewiesen.
ReadOnly: Verhindert, dass Listeneinträge beim Auswählen farblich hervorgehoben werden, allerdings wird die zugeordnete Variable des Steuerelements (falls vorhanden) weiterhin aktualisiert.
Sort: Sortiert die Listeneinträge automatisch in alphabetischer Reihenfolge, was auch Einfluss auf Listeneinträge hat, die nachträglich via GuiControl hinzugefügt werden. Die Sort-Option ermöglicht auch eine inkrementelle Suche, mit der ein Listeneintrag durch Eingabe der ersten Zeichen seines Namens ausgewählt werden kann.
Tn: Setzt einen Tabstopp. Kann verwendet werden, um den Text in Spalten zu formatieren. Wenn die T-Option nicht verwendet wird, werden Tabstopps auf je 32 Dialogeinheiten gesetzt (die Breite jeder "Dialogeinheit" ist systemintern festgelegt). Wenn die T-Option nur einmal verwendet wird, werden Tabstopps auf je n Dialogeinheiten innerhalb der verfügbaren Breite des Steuerelements gesetzt. Zum Beispiel bewirkt t64 eine Verdopplung des Standardabstands zwischen den Tabstopps. Um benutzerdefinierte Tabstopps zu setzen, geben Sie die T-Option mehrmals an, z.B. t8 t16 t32 t64 t128. Für jede absolute Spaltenposition in der Liste wird ein Tabstopp gesetzt, bis zu einem Maximum von 50 Tabstopps.
0x100: Wendet den LBS_NOINTEGRALHEIGHT-Style an. Dieser Style bewirkt, dass die ListBox genau die angegebene Höhe hat. Wenn dieser Style nicht verwendet wird, wird die Höhe so angepasst, dass die Zeile am Ende der Liste vollständig sichtbar ist. Außerdem verhindert dieser Style, dass die ListBox automatisch beim Ändern ihrer Schrift kleiner gemacht wird.
VName: Die zugeordnete Variable bekommt den Text des aktuell ausgewählten Listeneintrags zugewiesen. Wenn das Steuerelement allerdings die AltSubmit-Option hat, bekommt die Variable stattdessen die Positionsnummer des Listeneintrags zugewiesen (der erste Eintrag ist 1, der zweite 2 und so weiter). Mit AltSubmit bekommt die Variable eine via Vertikalstrich getrennte Liste von Einträgen zugewiesen.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer einen neuen Listeneintrag auswählt. Wenn der Benutzer einen Listeneintrag doppelt anklickt, wird die interne Variable A_GuiEvent auf die Zeichenkette DoubleClick statt Normal gesetzt. Außerdem wird die interne Variable A_EventInfo auf die Positionsnummer des doppelt angeklickten Listeneintrags gesetzt (1 ist der erste Eintrag, 2 der zweite und so weiter).
Wn: Setzt die Breite des Steuerelements. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite standardmäßig das 15-fache der aktuellen Schriftgröße.
Rn oder Hn: Setzt die Höhe des Steuerelements. Zum Beispiel bewirkt r7, dass im Steuerelement Platz für 7 Zeilen geschaffen wird, oder h400, dass die Gesamthöhe des Steuerelements auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, ist die Höhe standardmäßig 3 Zeilen.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der ListBox-Styles-Tabelle.
Eine via Vertikalstrich getrennte Liste von Einträgen wie z.B. Rot|Grün|Blau. Um sicherzustellen, dass beim ersten Erscheinen des Fensters einer oder mehrere der Listeneinträge vorab ausgewählt sind (zum Auswählen mehrerer Listeneinträge ist die Multi-Option notwendig), fügen Sie diesen jeweils zwei Vertikalstriche an, z.B. Rot||Grün||Blau, oder verwenden Sie die Choose-Option.
Wenn das Steuerelement die Optionen Multi und AltSubmit hat, bekommt die zugeordnete Variable des Steuerelements (falls vorhanden) eine via Vertikalstrich getrennte Liste aller ausgewählten Listeneinträge unter Einbeziehung ihrer Positionsnummern zugewiesen. Zum Beispiel bedeutet 1|2|3, dass die ersten drei Listeneinträge ausgewählt sind. Das folgende Beispiel zeigt, wie man mit einer parsenden Schleife die Listeneinträge aus der Zeichenkette einzeln extrahiert:
Loop, Parse, MeineListBox, |
{
MsgBox Auswahl Nr. %A_Index% ist %A_LoopField%.
}
Um das Hinzufügen sehr vieler Listeneinträge performanter zu machen, verwenden Sie GuiControl, -Redraw, MeineListBox, bevor Sie die Operation durchführen, und danach GuiControl, +Redraw, MeineListBox.
Das Trennzeichen zwischen den Feldern kann mit der GUI-Option +Delimiter auf etwas anderes als den Vertikalstrich geändert werden. Zum Beispiel kann es mit Gui +Delimiter`n in einen Zeilenvorschub (`n) oder mit Gui +DelimiterTab in einen Tabulator (`t) geändert werden.
Eines der umfangreichsten Steuerelemente, das vom Betriebssystem zur Verfügung gestellt wird. Es wird häufig verwendet, um eine Tabelle in Form von Zeilen und Spalten darzustellen. Das wohl bekannteste Beispiel dafür ist die detaillierte Auflistung von Dateien und Ordnern im Explorer.
Syntax:
Gui, Add, ListView, Optionen, SpaltenTitel
Beispiel:
Gui, Add, ListView, xm r20 w700, Name|Ordner|Größe (KB)|Typ
Erscheinungsbild:
Weitere Informationen finden Sie auf der separaten ListView-Seite.
Ein hohes und breites Steuerelement, das alle Tage eines Monats in Kalenderform darstellt. Der Benutzer kann ein einzelnes Datum oder einen Datumsbereich auswählen.
Syntax:
Gui, Add, MonthCal, Optionen, Zeitstempel
Beispiel:
Gui, Add, MonthCal, vMeinKalender
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
Multi: Mehrfachauswahl. Ermöglicht dem Benutzer, einen Bereich benachbarter Datumsfelder mittels UMSCHALT-Klicks oder durch Halten und Ziehen der linken Maustaste auszuwählen (der Benutzer kann aber weiterhin ein einzelnes Datum auswählen). Diese Option ist automatisch wirksam, wenn mit dem Zeitstempel-Parameter ein Datumsbereich angegeben wurde. Diese Option kann nach der Erstellung des Steuerelements nicht mehr geändert werden.
RangeMinMax: Beschränkt die Datumsauswahl auf einem bestimmten Zeitraum. Geben Sie für MinMax das Start- und Enddatum im YYYYMMDD-Format an (mit einem Bindestrich dazwischen). Zum Beispiel bewirkt Range20050101-20050615, dass nur ein Datum oder Datumsbereich innerhalb der ersten 5,5 Monate des Jahres 2005 ausgewählt werden kann. Das Start- oder Enddatum kann weggelassen werden, um die Auswahl im Kalender nur in eine Richtung zu beschränken. Zum Beispiel bewirkt Range20010101, dass kein Datum vor 2001 ausgewählt werden kann, oder Range-20091231 (Bindestrich am Anfang), dass kein Datum nach 2009 ausgewählt werden kann. Fehlt diese Option, kann ein beliebiges Datum zwischen den Jahren 1601 und 9999 ausgewählt werden.
4: Zeigt die Kalenderwochen (1-52) auf der linken Seite jeder Tageszeile an. Woche 1 ist per Definition die erste Woche mit mindestens vier Tagen.
8: Verhindert, dass das heutige Datum innerhalb des Steuerelements hervorgehoben wird.
16: Verhindert, dass das heutige Datum im unteren Bereich des Steuerelements angezeigt wird.
VName: Die zugeordnete Variable bekommt das Datum des aktuell ausgewählten Feldes im YYYYMMDD-Format (ohne Zeitkomponente) zugewiesen. Wenn die Mehrfachauswahl-Option aktiv ist, wird stattdessen das Start- und Enddatum mit einem Bindestrich dazwischen abgerufen (z.B. 20050101-20050108). Wenn in einem Mehrfachauswahl-Kalender nur ein Datum ausgewählt wurde, sind Start- und Enddatum zwar vorhanden, aber identisch.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer die Auswahl ändert. Jeder Start aktualisiert die zugeordnete Variable des Steuerelements (falls vorhanden). In Windows XP und niedriger wird das Label aufgrund einer Eigenart des Betriebssystems alle zwei Minuten gestartet, für den Fall, dass ein neuer Tag beginnt. Wenn das Steuerelement die AltSubmit-Option hat, wird das g-Label häufiger gestartet und die interne Variable A_GuiEvent auf einen der folgenden Werte gesetzt: Das Wort Normal, wenn das Datum geändert wurde, die Zahl 1, wenn ein Datum angeklickt wurde, oder die Zahl 2, wenn die Maustaste im Steuerelement losgelassen wurde. Wenn der Benutzer z.B. ein neues Datum doppelt anklickt, wird das Label fünfmal gestartet: Einmal mit Normal, zweimal mit 1 und zweimal mit 2. Misst man den zeitlichen Abstand zwischen den Vorkommen der Zahl 1, können so Doppelklicks erkannt werden.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der MonthCal-Styles-Tabelle.
Wenn leer oder weggelassen, wird das heutige Datum vorab ausgewählt. Andernfalls geben Sie Datumswerte im Format YYYYMMDD an - entweder ein einzelnes Datum, oder einen Datumsbereich durch Einfügen eines Bindestrichs zwischen zwei Datumswerten. Zum Beispiel bewirkt 20050531, dass der 31. Mai 2005 ausgewählt wird, und 20050525-20050531, dass jeder Tag vom 25. bis 31. Mai 2005 ausgewählt wird.
Breite (W) und Höhe (H) sollten bei einem MonthCal-Steuerelement weggelassen werden, da es sich automatisch für die Darstellung eines einzelnen Monats dimensioniert. Um mehrere Monate vertikal darzustellen, geben Sie R2 oder höher in Optionen an. Um mehrere Monate horizontal darzustellen, geben Sie W-2 (W minus 2) oder höher an. Diese Optionen können gleichzeitig vorhanden sein, um das Steuerelement in beide Richtungen zu erweitern.
Das Heute-Feld im unteren Bereich des Steuerelements kann angeklickt werden, um das heutige Datum auszuwählen. Das Monat-Jahr-Feld im oberen Bereich ist nützlich, um einen anderen Monat oder ein anderes Jahr auszuwählen.
In Windows Vista und höher wird die Navigation mit der Tastatur im MonthCal-Steuerelement vollständig unterstützt, sofern es den Tastaturfokus hat. Alle unterstützten Tastaturkurzbefehle finden Sie unter DateTime (innerhalb des aufklappbaren Kalenders).
Wenn die zugeordnete Variable des Steuerelements (falls vorhanden) einen Datumsbereich wie 20050101-20050108 zugewiesen bekommt, kann StringSplit oder StrSplit() verwendet werden, um die Datumswerte zu trennen. Zum Beispiel würde der folgende Code 20050101 in Datum1 und 20050108 in Datum2 speichern: StringSplit, Datum, MeinMonthCal, -.
Bei Datumswerten im YYYYMMDD-Format kann MM und/oder DD weggelassen werden, so dass diese jeweils als 1 interpretiert werden. Zum Beispiel wird 200205 als 20020501 und 2005 als 20050101 behandelt.
Die Farben der Tageszahlen im Kalender richten sich nach den Farben, die via Gui Font oder C-Option festgelegt wurden, sofern das Steuerelement das klassische Design hat. Um die Farben der anderen Bereiche des Kalenders zu ändern, gehen Sie wie folgt vor:
Gui +LastFound SendMessage, 0x100A, 5, 0xFFAA99, SysMonthCal321 ; 0x100A ist MCM_SETCOLOR. 5 ist MCSC_TITLETEXT (Farbe des Titeltextes). Die Farbe muss im BGR- statt RGB-Format angegeben werden (Rot- und Blauanteile sind vertauscht).
Ein Bereich zum Anzeigen eines Bildes.
Syntax:
Gui, Add, Picture, Optionen, BildDatei
Beispiel:
Gui, Add, Picture, w300 h-1, C:\Meine Bilder\Firmenlogo.gif
Der Name des Steuerelements kann entweder Picture oder Pic sein.
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
AltSubmit: Weist das Programm an, die GDIPlus.dll von Microsoft zum Laden des Bildes zu verwenden, was bei GIF-, BMP- und Symbolbildern zu einer anderen Darstellung führen kann. Zum Beispiel bewirkt AltSubmit, dass ein ICO/GIF-Bild mit transparentem Hintergrund als transparente Bitmap geladen wird, die den Effekt von BackgroundTrans zulässt (in [v1.1.23+] ist die Transparenz von Symbolen auch ohne AltSubmit wirksam). Wenn GDIPlus nicht verfügbar ist, wird AltSubmit ignoriert und das Bild mit der normalen Methode geladen.
Wn und Hn: Die Breite und Höhe zum Skalieren des Bildes, wobei n ein Integer ist (diese Dimensionen bestimmen auch das zu ladende Symbol aus einer Multi-Symbol-Datei). Wenn eine Dimension weggelassen wird oder -1 ist, wird sie unter Beibehaltung des Seitenverhältnisses automatisch auf Basis der anderen Dimension berechnet. Wenn beide Dimensionen weggelassen werden, wird die Originalgröße des Bildes verwendet. Wenn eine der Dimensionen 0 ist, wird für diese Dimension die Originalgröße verwendet. Zum Beispiel bewirkt w200 h-1, dass das Bild 200 Pixel breit gemacht und dessen Höhe automatisch gesetzt wird. Wenn das Bild nicht geladen oder angezeigt werden kann (z.B. weil die Datei nicht gefunden wurde), wird das Steuerelement leer gelassen und dessen Breite und Höhe auf 0 gesetzt.
IconN: Um eine andere Symbolgruppe als die erste in der Datei zu verwenden, geben Sie für N die Nummer der Gruppe an. Zum Beispiel bewirkt Icon2, dass das Standardsymbol aus der zweiten Symbolgruppe geladen wird.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer das Bild anklickt. Ein Doppelklick kann durch Überprüfen der internen Variable A_GuiEvent erkannt werden.
Der Name einer Bild- oder Multi-Symbol-Datei (die im A_WorkingDir-Verzeichnis vermutet wird, wenn kein absoluter Pfad angegeben ist), oder in [v1.1.23+] ein Bitmap- oder Symbol-Handle wie z.B. HBITMAP:%handle%.
Bilddatei: Alle Betriebssysteme unterstützen GIF-, JPG-, BMP-, ICO-, CUR- und ANI-Bilder. In Windows XP oder höher werden zusätzliche Bildformate wie PNG, TIF, Exif, WMF und EMF unterstützt. Um Betriebssysteme älter als XP zu unterstützen, kopieren Sie die GDIPlus.dll von Microsoft in den Ordner von AutoHotkey.exe (im Falle eines kompilierten Skripts muss die DLL in den Ordner des Skripts kopiert werden). Die DLL finden Sie unter www.microsoft.com mit Suchbegriffen wie: gdi redistributable
Multi-Symbol-Datei: Symbole und Cursor können aus folgenden Dateitypen geladen werden: ICO, CUR, ANI, EXE, DLL, CPL, SCR und andere Typen, die Symbolressourcen enthalten. Um eine andere Symbolgruppe als die erste in der Datei zu verwenden, verwenden Sie die Icon-Option.
Um ein Bild als Hintergrund für andere Steuerelemente zu verwenden, muss das Bild normalerweise vor solchen Steuerelementen hinzugefügt werden. Wenn solche Steuerelemente jedoch eingabefähig sind und das Bild ein g-Label hat, muss das Bild nach diesen Steuerelementen erstellt werden und 0x4000000 (WS_CLIPSIBLINGS) in den Optionen des Picture-Steuerelements eingefügt werden. Dieser Trick kann auch verwendet werden, um ein Bild als Hintergrund für ein Tab- oder ListView-Steuerelement zu definieren.
Animierte GIF-Dateien werden in einem Picture-Steuerelement angezeigt, aber nicht animiert. Um dieses Problem zu lösen, verwenden Sie die AniGIF-DLL-Datei (die für nicht-kommerzielle Zwecke kostenlos ist), wie in den AutoHotkey-Foren gezeigt. [v1.1.03+]: Alternativ können Sie auch das ActiveX-Steuerelement verwenden. Zum Beispiel:
; Geben Sie unten den Pfad zur GIF-Datei an, die animiert werden soll (lokale Dateien sind auch möglich): pic := "http://www.animatedgif.net/cartoons/A_5odie_e0.gif" Gui, Add, ActiveX, w100 h150, % "mshtml:<img src='" pic "' />" Gui, Show
Auch bekannt als Fortschrittsbalken. Ein zweifarbiger Balken, der den Fortschritt einer Operation visuell darstellt.
Syntax:
Gui, Add, Progress, Optionen, StartPos
Beispiel:
Gui, Add, Progress, w200 h20 cBlue vMeinFortschritt, 75
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
CFarbe: Ändert die Farbe des Balkens. Geben Sie für Farbe einen der 16 primären HTML-Farbnamen oder einen 6-stelligen RGB-Farbwert an. Beispiele: cRed, cFFFF33, cDefault. Wenn die C-Option nie verwendet wird (oder cDefault angegeben ist), wird die Standardbalkenfarbe des Systems verwendet.
BackgroundFarbe: Ändert die Hintergrundfarbe des Balkens. Geben Sie für Farbe einen der 16 primären HTML-Farbnamen oder einen 6-stelligen RGB-Farbwert an. Beispiele: BackgroundGreen, BackgroundFFFF33, BackgroundDefault. Wenn die Background-Option nie verwendet wird (oder BackgroundDefault angegeben ist), wird die Hintergrundfarbe des Fensters oder die des darunter liegenden Tab-Steuerelements verwendet.
RangeMinMax: Setzt den Wertebereich auf etwas anderes als 0 bis 100. Geben Sie für MinMax den Minimal- und Maximalwert an (mit einem Bindestrich dazwischen). Zum Beispiel erlaubt Range0-1000 Zahlen zwischen 0 und 1000; Range-50-50 Zahlen zwischen -50 und 50; und Range-10--5 Zahlen zwischen -10 und -5.
Smooth: Geben Sie -Smooth (minus Smooth) an, um den Fortschrittsbalken nicht als durchgehenden Balken, sondern in mehreren Segmenten darzustellen. In Windows XP oder höher ist -Smooth zudem eine der Voraussetzungen, um einen thematisierten Fortschrittsbalken darzustellen. Die andere Voraussetzung ist, dass der Balken keine benutzerdefinierten Farben haben darf, d.h. die C- und Background-Option müssen weggelassen werden.
Vertical: Bewirkt, dass der Balken steigt oder fällt, anstatt sich horizontal zu bewegen.
VName: Die zugeordnete Variable bekommt die aktuelle numerische Position des Balkens zugewiesen.
Wn: Setzt die Breite des Steuerelements. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite eines horizontalen Balkens standardmäßig das 15-fache der aktuellen Schriftgröße und die Breite eines vertikalen Balkens standardmäßig das 2-fache der aktuellen Schriftgröße.
Rn oder Hn: Setzt die Höhe des Steuerelements. Zum Beispiel bewirkt r7, dass das Steuerelement 7 Zeilen hoch gemacht wird, oder h400, dass dessen Höhe auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, ist die Höhe eines horizontalen Balkens standardmäßig das 2-fache der aktuellen Schriftgröße und die Höhe eines vertikalen Balkens standardmäßig 5 Zeilen.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der Progress-Styles-Tabelle.
Wenn leer oder weggelassen, beginnt der Balken bei 0 oder beim niedrigsten zulässigen Bereichswert. Andernfalls geben Sie die Startposition des Balkens an.
Die Position des Balkens kann später wie folgt geändert werden (basierend auf einem Fortschrittsbalken mit dem zugeordneten Variablennamen MeinFortschritt):
GuiControl,, MeinFortschritt, +20 ; Aktuelle Position um 20 erhöhen. GuiControl,, MeinFortschritt, 50 ; Aktuelle Position auf 50 setzen.
Bei horizontalen Fortschrittsbalken ist die Dicke des Balkens identisch zur Höhe des Steuerelements. Bei vertikalen Fortschrittsbalken ist sie identisch zur Breite des Steuerelements.
Auch bekannt als Optionsfeld. Ein kleiner Kreis, der markiert oder unmarkiert sein kann.
Syntax:
Gui, Add, Radio, Optionen, Beschriftung
Beispiel:
Gui, Add, Radio, vMeineRadiogruppe, Artikel erst versenden, wenn sie auf Lager sind.
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
Checked: Das Radio-Steuerelement ist zu Beginn markiert (im eingeschalteten Zustand). Direkt nach dem Wort Checked kann optional 0 oder 1 angegeben werden, um den Startzustand (unmarkiert oder markiert) zu definieren. Mit anderen Worten, Checked ist dasselbe wie Checked%VarMitEins%.
Group: Startet eine neue Radiogruppe.
VName: Die zugeordnete Variable bekommt 1 für markiert oder 0 für unmarkiert zugewiesen. Wenn jedoch nur einem Mitglied einer Radiogruppe eine Variable zugeordnet wurde, wird diese Variable stattdessen auf die Positionsnummer des aktuell ausgewählten Radio-Steuerelements gesetzt: 1 ist das erste Radio-Steuerelement (entsprechend der ursprünglichen Erstellreihenfolge), 2 das zweite und so weiter. Wenn kein Radio-Steuerelement ausgewählt ist, wird 0 gesetzt.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer das Radio-Steuerelement anklickt bzw. auswählt. Geben Sie das g-Label für jedes Radio-Steuerelement in einer Radiogruppe an, bei dem das Label gestartet werden soll. Auf diese Weise ist es möglich, das Anklicken bestimmter Radio-Steuerelemente zu ignorieren. Ein Doppelklick kann durch Überprüfen der internen Variable A_GuiEvent erkannt werden.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der Radio-Styles-Tabelle.
Ein Text, der rechts neben dem Kreis angezeigt wird. Diese Beschriftung dient in der Regel als Aufforderung oder Beschreibung und kann Zeilenvorschübe (`n) zum Starten neuer Zeilen enthalten.
Ein Und-Zeichen (&) kann verwendet werden, um einen Buchstaben zu unterstreichen, wie z.B. den Buchstaben P in &Pause. Dies ermöglicht dem Benutzer, Alt+P als Tastaturkurzbefehl zu drücken. Um ein Und-Zeichen darzustellen, müssen zwei aufeinanderfolgende Und-Zeichen (&&) angegeben werden.
Solche Steuerelemente befinden sich üblicherweise in Radiogruppen, die jeweils aus zwei oder mehr Radio-Steuerelementen bestehen. Wenn der Benutzer ein Radio-Steuerelement auswählt, werden alle anderen Radio-Steuerelemente in der Gruppe automatisch abgewählt (der Benutzer kann auch mit den Pfeiltasten innerhalb einer Gruppe navigieren). Eine Radiogruppe wird automatisch erstellt und umfasst eine Reihe von nacheinander erstellten Radio-Steuerelementen. Um eine neue Gruppe zu beginnen, verwenden Sie die Group-Option für das erste Radio-Steuerelement – oder fügen Sie einfach ein Nicht-Radio-Steuerelement dazwischen ein, was automatisch eine neue Gruppe beginnt.
Wenn in Optionen eine Breite (W), aber keine Zeilen (R) oder Höhe (H) angegeben ist, werden Textzeilen bei Bedarf umbrochen und die Höhe des Steuerelements automatisch gesetzt.
Bekannte Einschränkung: Bestimmte Desktop-Designs können den Text eines Radio-Steuerelements nicht ordnungsgemäß darstellen. Sollte dies der Fall sein, versuchen Sie, -Wrap (minus Wrap) in Optionen einzufügen. Dies verhindert aber auch, dass mehr als eine Textzeile angezeigt wird.
Auch bekannt als Schieberegler. Ein Regler, den der Benutzer entlang einer vertikalen oder horizontalen Linie verschieben kann. Ein bekanntes Beispiel hierfür ist der Lautstärkeregler im Tray-Bereich der Taskleiste.
Syntax:
Gui, Add, Slider, Optionen, StartPos
Beispiel:
Gui, Add, Slider, vMeinSlider, 50
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
Buddy1VarName und Buddy2VarName: Platziert automatisch bis zu zwei vorhandene Steuerelemente an den Enden des Schiebereglers. Buddy1 wird auf der linken oder oberen Seite angezeigt (abhängig davon, ob die Vertical-Option vorhanden ist). Buddy2 wird auf der rechten oder unteren Seite angezeigt. Geben Sie für VarName den zugeordneten Variablennamen eines existierenden Steuerelements an. Zum Beispiel würde Buddy1MeinObertext ein Steuerelement zuweisen, dessen Variablenname "MeinObertext" ist.
Center: Der Regler (verschiebbare Knopf) ist nicht wie üblich an einem Ende spitzförmig, sondern wird als Rechteck dargestellt.
Invert: Kehrt das Steuerelement um, so dass zum Verringern des Wertes der Regler nach rechts/unten statt nach links/oben verschoben werden muss. Dies wird typischerweise verwendet, um einen vertikalen Schieberegler zu einem klassischen Lautstärkeregler zu machen. Beachten Sie, dass die ToolTip-Option diese Umkehrung ignoriert und daher nicht verwendet werden sollte.
Left: Der Regler (verschiebbare Knopf) ist nicht wie üblich am unteren, sondern oberen Ende spitzförmig. Wenn die Vertical-Option aktiv ist, ist der Regler links statt rechts spitzförmig.
LineN: Geben Sie für N die Anzahl der Positionen an, die verschoben werden sollen, wenn der Benutzer ↑, →, ↓ oder ← drückt. Zum Beispiel Line2.
NoTicks: Entfernt die Teilstriche entlang der Linie.
PageN: Geben Sie für N die Anzahl der Positionen an, die verschoben werden sollen, wenn der Benutzer Bild↑ oder Bild↓ drückt. Zum Beispiel Page10.
RangeMinMax: Setzt den Wertebereich auf etwas anderes als 0 bis 100. Geben Sie für MinMax den Minimal- und Maximalwert an (mit einem Bindestrich dazwischen). Zum Beispiel erlaubt Range1-1000 die Auswahl einer Zahl zwischen 1 und 1000; Range-50-50 eine Zahl zwischen -50 und 50; und Range-10--5 eine Zahl zwischen -10 und -5.
ThickN: Geben Sie für N die Dicke des Reglers (verschiebbaren Knopfs) in Pixel an. Zum Beispiel Thick30. Um in Windows XP oder höher den Regler dicker zu machen, ist es wahrscheinlich notwendig, entweder die Center-Option anzugeben oder das Design des Steuerelements zu entfernen (durch Angabe von -Theme).
TickIntervalN: Zeigt in regelmäßigen Abständen Teilstriche entlang der Linie an. Geben Sie für N das Intervall an, wie oft die Teilstriche angezeigt werden sollen (wenn das Intervall nie gesetzt wurde, gilt standardmäßig 1). Je kleiner das Intervall, desto mehr Teilstriche werden gesetzt. Zum Beispiel bewirkt TickInterval10, dass an jede 10. Position ein Teilstrich angezeigt wird.
ToolTip: Zeigt einen Tooltip mit der numerischen Position des Schiebereglers, wenn der Benutzer den Regler mit der Maus zieht. Um den Tooltip auf einer unüblichen Position anzuzeigen, geben Sie stattdessen eines der folgenden Wörter an: ToolTipLeft oder ToolTipRight (für vertikale Schieberegler); ToolTipTop oder ToolTipBottom (für horizontale Schieberegler).
Vertical: Bewirkt, dass der Regler nach oben/unten statt nach links/rechts geschoben werden muss.
VName: Die zugeordnete Variable bekommt die aktuelle numerische Position des Schiebereglers zugewiesen.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer aufgehört hat, den Regler zu verschieben (z.B. beim Loslassen der linken Maustaste nach einem Ziehvorgang). Jeder Start aktualisiert die zugeordnete Variable des Steuerelements (falls vorhanden). Wenn das Steuerelement die AltSubmit-Option hat, wird das g-Label häufiger gestartet und die interne Variable A_GuiEvent auf einen der folgenden Werte gesetzt: Das Wort Normal für das Anhalten der Reglerbewegung, die Zahl 0 für das Drücken von ← oder ↑, die Zahl 1 für das Drücken von → oder ↓, die Zahl 2 für das Drücken von Bild↑, die Zahl 3 für das Drücken von Bild↓, die Zahl 4 für das Schieben des Reglers via Mausrad oder Ziehen-und-Ablegen, die Zahl 5 für das Ziehen des Reglers via Maus (d.h. die Maustaste wird gerade gedrückt gehalten), die Zahl 6 für das Drücken von Pos1 zum Schieben des Reglers nach ganz links oder ganz oben, oder die Zahl 7 für das Drücken von Ende zum Schieben des Reglers nach ganz rechts oder ganz unten. Wenn der Benutzer z.B. den Regler einen Tick nach rechts schiebt, wird das g-Label dreimal gestartet: 5, 4 und Normal.
Wn: Setzt die Breite des Steuerelements. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite eines horizontalen Schiebereglers standardmäßig das 15-fache der aktuellen Schriftgröße und die Breite eines vertikalen Schiebereglers standardmäßig 30 Pixel (außer wenn eine Dicke angegeben wurde).
Rn oder Hn: Setzt die Höhe des Steuerelements. Zum Beispiel bewirkt r7, dass das Steuerelement 7 Zeilen hoch gemacht wird, oder h400, dass dessen Höhe auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, ist die Höhe eines horizontalen Schiebereglers standardmäßig 30 Pixel (außer wenn eine Dicke angegeben wurde) und die Höhe eines vertikalen Schiebereglers standardmäßig 5 Zeilen.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der Slider-Styles-Tabelle.
Wenn leer oder weggelassen, beginnt der Schieberegler bei 0 oder beim niedrigsten zulässigen Bereichswert. Andernfalls geben Sie die Startposition des Reglers an.
Der Benutzer kann den Regler wie folgt verschieben: 1) mit der Maus ziehen; 2) auf den Linienbereich klicken; 3) das Mausrad drehen, während das Steuerelement den Fokus hat; 4) folgende Tasten drücken, während das Steuerelement den Fokus hat: ↑, →, ↓, ←, Bild↑, Bild↓, Pos1 und Ende.
Auch bekannt als Statusleiste. Eine Leiste mit Text und/oder Symbolen am unteren Rand eines Fensters, die üblicherweise verwendet wird, um geänderte Zustände zu melden.
Syntax:
Gui, Add, StatusBar, Optionen, Text
Beispiel:
Gui, Add, StatusBar,, Starttext der Leiste (kann leer gelassen werden).
SB_SetText("Es sind " . ReihenAnzahl . " Reihen markiert.")
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
BackgroundFarbe: Ändert die Hintergrundfarbe des Steuerelements. Geben Sie für Farbe einen Farbnamen (siehe Farbentabelle) oder RGB-Wert (mit oder ohne 0x-Präfix) an. Beispiele: BackgroundSilver, BackgroundFFDD99, BackgroundDefault. Beachten Sie, dass das Steuerelement das klassische Design haben muss.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer die Leiste anklickt. Das g-Label kann die interne Variable A_GuiEvent verwenden, die angibt, wie auf die Leiste geklickt wurde: Das Wort Normal für Linksklick, das Wort RightClick für Rechtsklick, das Wort DoubleClick für Doppelklick oder den Buchstaben R für Doppelrechtsklick. Es kann auch die Variable A_EventInfo verwenden, die die Nummer des angeklickten Segments enthält. Beachten Sie, dass, wenn die Statusleiste ein g-Label hat, GuiContextMenu nicht aufgerufen wird; verwenden Sie stattdessen das RightClick-Ereignis.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der StatusBar-Styles-Tabelle.
Wenn leer oder weggelassen, ist das Steuerelement anfangs leer. Andernfalls geben Sie den Text an, der im Steuerelement erscheinen soll.
Die folgenden Funktionen arbeiten mit dem Standard-GUI-Fenster des aktuellen Threads (was mit Gui Default geändert werden kann). Wenn das Standardfenster nicht existiert oder keine Statusleiste hat, geben die Funktionen Null zurück, um das Problem zu kennzeichnen.
Übersicht:
Zeigt einen neuen Text in einem bestimmten Segment der Statusleiste an.
SB_SetText(NeuerText , SegmentNummer, Style)
NeuerText: Es können bis zu zwei Tabulatorzeichen (`t) im neuen Text verwendet werden: Alles, was sich rechts vom ersten Tabulatorzeichen befindet, wird innerhalb des Segments zentriert, und alles, was sich rechts vom zweiten Tabulatorzeichen befindet, wird rechtsbündig gemacht.
SegmentNummer: Wenn weggelassen, wird standardmäßig 1 verwendet. Andernfalls geben Sie einen Integer im Bereich von 1 bis 256 an.
Style: Wenn weggelassen, wird standardmäßig 0 verwendet, also ein klassischer Rahmen, der das Segment aussehen lässt, als wäre es abgesenkt. Andernfalls geben Sie 1 an, um das Segment ohne Rahmen darzustellen, oder 2, um das Segment aussehen zu lassen, als wäre es angehoben.
Diese Funktion gibt 1 für Erfolg und 0 für Misserfolg zurück.
Teilt die Leiste in mehrere Segmente gemäß bestimmter Breiten auf.
SB_SetParts(Breite1, Breite2, ... Breite255)
BreiteN: Wenn alle Parameter weggelassen werden, wird der Urzustand der Leiste (ein einzelnes, langes Segment) wiederhergestellt. Andernfalls können die Breiten der neuen Segmente angegeben werden, wobei zu beachten ist, dass die Breite des letzten Segments automatisch auf die verbleibende Breite der Leiste gesetzt wird. Zum Beispiel bewirkt SB_SetParts(50, 50), dass drei Segmente erstellt werden: Die ersten zwei mit einer Breite von 50 und das letzte mit der verbleibenden Breite. Die Zahlen sind in Pixel.
Diese Funktion gibt bei Erfolg das Fensterhandle (HWND) der Statusleiste zurück. Bei Misserfolg gibt sie 0 zurück.
Alle Segmente, die mit dieser Funktion "gelöscht" wurden, werden das nächste Mal, wenn sie angezeigt werden, vorerst ohne Text dargestellt. Außerdem werden ihre Symbole automatisch zerstört.
Zeigt ein kleines Symbol links neben dem Text eines bestimmten Segments an.
SB_SetIcon(DateiName , SymbolNummer, SegmentNummer)
DateiName: Der Name einer Symbol- oder Multi-Symbol-Datei wie z.B. "Shell32.dll", oder in [v1.1.23+] ein Symbol-Handle wie z.B. "HICON:" handle, oder in [v1.1.27+] eine Bilddatei oder ein Bitmap-Handle wie z.B. "HBITMAP:" handle. Eine Liste unterstützter Formate finden Sie unter Picture. Die Datei wird im A_WorkingDir-Verzeichnis vermutet, wenn kein absoluter Pfad angegeben ist.
SymbolNummer: Wenn weggelassen, wird standardmäßig 1 verwendet (die erste Symbolgruppe). Andernfalls geben Sie die Nummer der Symbolgruppe an, die in der Datei verwendet werden soll. Zum Beispiel bewirkt 2, dass das Standardsymbol aus der zweiten Symbolgruppe verwendet wird. Wenn negativ, wird dessen Absolutwert als Ressourcen-ID eines Symbols innerhalb einer EXE-Datei vermutet.
SegmentNummer: Wenn weggelassen, wird standardmäßig 1 verwendet. Andernfalls geben Sie einen Integer im Bereich von 1 bis 256 an.
Diese Funktion gibt bei Erfolg das Handle des Symbols (HICON) und bei Misserfolg 0 zurück. HICON ist eine Systemressource, die für die meisten Skripte irrelevant ist und automatisch zerstört wird, sobald das Fenster der Statusleiste zerstört wird. Außerdem wird ein altes Symbol automatisch zerstört, wenn es mit dieser Funktion durch ein neues Symbol ersetzt wird. Dies lässt sich wie folgt vermeiden:
Gui +LastFound SendMessage, 0x040F, SegmentNummer - 1, HICON, msctls_statusbar321 ; 0x040F ist SB_SETICON.
Für eine einfache Statusleiste genügt es, SB_SetText() aufzurufen, um dem Benutzer mitzuteilen, dass sich etwas geändert hat. Um mehr als eine Information zu melden, kann die Leiste via SB_SetParts() in mehrere Segmente aufgeteilt werden. Mit SB_SetIcon() können Symbole in die Leiste eingefügt werden.
Obwohl Schriftgröße, Schriftart und Schriftstil über Gui Font festgelegt werden können (wie bei den meisten anderen Steuerelementen auch), kann die Textfarbe nicht geändert werden. Außerdem wird Gui Color ignoriert; stattdessen kann mit der Background-Option die Hintergrundfarbe der Statusleiste geändert werden.
Um die Leiste versteckt zu erstellen, verwenden Sie Gui, Add, StatusBar, Hidden vSB. Um die Leiste irgendwann nach ihrer Erstellung zu verstecken, verwenden Sie GuiControl, Hide, SB. Mit GuiControl, Show, SB kann sie wieder sichtbar gemacht werden. Beachten Sie, dass beim Verstecken der Leiste die Höhe des Fensters nicht reduziert wird. Falls das gewünscht ist, verwenden Sie einfach Gui, Show, AutoSize.
Bekannte Einschränkungen: 1) Steuerelemente, die sich mit der Statusleiste überschneiden, werden manchmal über diese gezeichnet. Um das zu verhindern, gibt es z.B. die Möglichkeit, solche Steuerelemente mit dem GuiSize-Label dynamisch zu verkleinern. 2) Jedes Fenster kann maximal eine Statusleiste enthalten.
TreeView-Beispiel #1 zeigt eine mehrfach segmentierte Statusleiste.
Um eine Statusleiste mit einem Fortschrittsbalken zu bestücken, siehe SB_SetProgress (archiviertes Forum).
Ein Steuerelement, das aus mehreren Registerkarten besteht. Jede Registerkarte kann eigene Steuerelemente enthalten. Der Wechsel zwischen den Registerkarten erfolgt durch Anklicken oder Auswählen ihrer Reiter. Sichtbar sind stets nur die Steuerelemente der aktuell aktiven Registerkarte.
Syntax:
Gui, Add, Tab, Optionen, ReiterNamen
Beispiel:
Gui, Add, Tab,, Allgemein|Ansicht|Einstellungen
Erscheinungsbild:
Der Name des Steuerelements kann entweder Tab, Tab2 oder Tab3 sein.
Tab: Aus Gründen der Abwärtskompatibilität beibehalten, da sich Tab und Tab2/Tab3 unterschiedlich verhalten.
Tab2 [v1.0.47.05+]: Tab2 behebt seltene Neuzeichnungsprobleme im originalen Tab-Steuerelement, aber verursacht einige andere Probleme.
Tab3 [v1.1.24+]: Empfohlen. Behebt einige Probleme, die Tab und Tab2 betreffen. Steuerelemente werden innerhalb eines unsichtbaren "Tab-Dialogfensters" platziert, das zusammen mit dem Tab-Steuerelement verschoben oder vergrößert/verkleinert wird. Das Tab-Steuerelement ist standardmäßig thematisiert.
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
ChooseN: Geben Sie für N die Positionsnummer einer Registerkarte an, die vorab ausgewählt sein soll. Zum Beispiel bewirkt Choose5, dass die fünfte Registerkarte vorab ausgewählt wird (wie bei anderen Optionen kann das auch eine Variable sein, z.B. Choose%Var%). Mit GuiControl kann, nachdem das Steuerelement erstellt wurde, eine andere Registerkarte ausgewählt oder Registerkarten hinzugefügt/entfernt werden.
Background: Geben Sie -Background (minus Background) an, um die benutzerdefinierte Hintergrundfarbe des Fensters zu überschreiben und die Standardfarbe des Systems für Tab-Steuerelemente zu verwenden.
Theme: Passt das Tab-Steuerelement an das aktuelle Windows-Design an. Allerdings werden die meisten Steuerelemente im Tab-Steuerelement seltsam aussehen, da ihr Hintergrund nicht mit dem des Tab-Steuerelements übereinstimmt. Um dieses Problem zumindest bei einigen Steuerelementen (z.B. Text) zu korrigieren, fügen Sie BackgroundTrans in ihren Optionen ein. Tab3 ist standardmäßig thematisiert und erfordert diese Korrektur nicht.
Buttons: Zeigt anstelle von Reitern eine Reihe von Schaltflächen im oberen Bereich des Steuerelements an (in diesem Fall ist der Rahmen standardmäßig nicht vorhanden, weil der Anzeigebereich in der Regel keine Steuerelemente enthält).
Left, Right oder Bottom: Geben Sie eines dieser Wörter an, um die Reiter nicht wie üblich im oberen, sondern im linken, rechten oder unteren Bereich des Steuerelements anzuzeigen. Bei Left und Right sind Einschränkungen zu beachten; siehe TCS_VERTICAL.
Wrap: Geben Sie -Wrap (minus Wrap) an, um zu verhindern, dass die Reiter mehr als eine Reihe beanspruchen (wenn aus Platzgründen nicht alle Reiter angezeigt werden können, werden zwei Pfeilschaltflächen bereitgestellt, die der Benutzer drücken kann, um zum gewünschten Reiter zu scrollen).
VName: Die zugeordnete Variable bekommt den Reiternamen der aktuell ausgewählten Registerkarte zugewiesen. Wenn das Steuerelement allerdings die AltSubmit-Option hat, bekommt die Variable stattdessen die Positionsnummer der Registerkarte zugewiesen (die erste Registerkarte ist 1, die zweite 2 und so weiter).
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer zu einer anderen Registerkarte wechselt. Jeder Start aktualisiert die zugeordnete Variable des Steuerelements (falls vorhanden).
Wn: Setzt die Breite des Steuerelements. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite standardmäßig das 30-fache der aktuellen Schriftgröße plus das 3-fache des X-Abstands. Tab3 mit Untersteuerelementen ignoriert diese Standardeinstellung.
Rn oder Hn: Setzt die Höhe des Steuerelements. Zum Beispiel bewirkt r7, dass im Steuerelement Platz für 7 Zeilen geschaffen wird, oder h400, dass die Gesamthöhe des Steuerelements auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, ist die Höhe standardmäßig 10 Zeilen. Tab3 mit Untersteuerelementen ignoriert diese Standardeinstellung.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der Tab-Styles-Tabelle.
Eine via Vertikalstrich getrennte Liste von Namen wie z.B. Rot|Grün|Blau zur Benennung der Reiter der Registerkarten. Um sicherzustellen, dass beim ersten Erscheinen des Fensters eine der Registerkarten vorab ausgewählt ist, fügen Sie ihr zwei Vertikalstriche an, z.B. Rot|Grün||Blau, oder verwenden Sie die Choose-Option.
Standardmäßig werden alle Steuerelemente, die nach dem Erstellen eines Tab-Steuerelements hinzugefügt werden, der ersten Registerkarte zugeordnet. Das kann jederzeit wie folgt geändert werden:
Gui, Tab ; Künftige Steuerelemente werden keinem Tab-Steuerelement zugeordnet. Gui, Tab, 3 ; Künftige Steuerelemente werden der dritten Registerkarte des aktuellen Tab-Steuerelements zugeordnet. Gui, Tab, 3, 2 ; Künftige Steuerelemente werden der dritten Registerkarte des zweiten Tab-Steuerelements zugeordnet. Gui, Tab, Name ; Künftige Steuerelemente werden einer Registerkarte zugeordnet, dessen Reitername mit Name beginnt (nicht Groß-/Kleinschreibung-sensitiv). Gui, Tab, Name,, Exact ; Dasselbe wie oben, aber mit exakter Übereinstimmung (und Groß-/Kleinschreibung-sensitiv).
Alle obigen Beispiele (außer Name) können verwendet werden, um Steuerelemente einer Registerkarte oder einem Tab-Steuerelement zuzuordnen, die bzw. das noch nicht existiert. In diesem Fall aber werden die unten beschriebenen Optionen zur relativen Positionierung nicht unterstützt.
Standardmäßig bekommt das erste Untersteuerelement einer Registerkarte eine spezielle Position zugewiesen, wenn: 1) die X- und Y-Koordinate weggelassen werden – in diesem Fall wird das erste Untersteuerelement in die obere linke Innenecke des Tab-Steuerelements positioniert (mit vordefinierten Abständen) und nachfolgende Untersteuerelemente unterhalb des vorherigen Steuerelements positioniert; 2) die Positionierungsoptionen X+n und/oder Y+n angegeben sind – in diesem Fall wird das Untersteuerelement relativ zur oberen linken Innenecke des Tab-Steuerelements positioniert. Zum Beispiel bewirkt x+10 y+10, dass das Steuerelement von der oberen linken Ecke aus 10 Pixel nach rechts und 10 Pixel nach unten positioniert wird.
Navigation mit der Tastatur: Der Benutzer kann Strg+Bild↑/Bild↓ drücken, um von Registerkarte zu Registerkarte zu navigieren; wenn sich der Tastaturfokus auf einem Steuerelement befindet, das keinem Tab-Steuerelement zugeordnet ist, wird zum erstem Tab-Steuerelement des Fensters navigiert. Strg+Tab und Strg+Umschalt+Tab können ebenfalls verwendet werden, funktionieren aber nicht, wenn das aktuell fokussierte Steuerelement ein mehrzeiliges Eingabefeld ist.
Jedes Fenster kann maximal 255 Tab-Steuerelemente enthalten. Jedes Tab-Steuerelement kann maximal 256 Registerkarten haben. Es ist nicht möglich, ein Tab-Steuerelement in ein anderes Tab-Steuerelement einzufügen.
Mit SendMessage kann ein Symbol neben jedem Reiternamen angezeigt werden. Informationen und Beispiele finden Sie im Thread Icons in tabs im archivierten Forum.
Hinweis: "Tab-Steuerelement" ist ein allgemeiner Begriff für alle drei Typen (Tab, Tab2 und Tab3). Wenn sich dieser Abschnitt explizit auf das originale "Tab"-Steuerelement bezieht, wird es "Tab1" genannt, um Missverständnisse zu vermeiden.
Übergeordnetes Fenster: Das übergeordnete Fenster eines Steuerelements beeinflusst sowohl die Positionierung und Sichtbarkeit des Steuerelements als auch die Tabulatornavigationsreihenfolge. Ein Untersteuerelement innerhalb eines existierenden Tab3-Steuerelements verwendet als übergeordnetes Fenster das sogenannte "Tab-Dialogfenster", welches den Anzeigebereich des Tab3-Steuerelements ausfüllt. Alle anderen Steuerelemente, einschließlich der Untersteuerelemente eines Tab1- oder Tab2-Steuerelements, verwenden nur das GUI-Fenster selbst als übergeordnetes Fenster.
Positionierung: Untersteuerelemente eines Tab1- und Tab2-Steuerelements müssen sich nicht unbedingt im Anzeigebereich des Tab-Steuerelements befinden, d.h. sie werden weiterhin versteckt bzw. sichtbar gemacht, wenn ihr Reiter aus- oder abgewählt wird. Dieses Verhalten ist besonders für die Buttons-Option nützlich.
Im Falle von Tab3 verhalten sich Untersteuerelemente, die einer Registerkarte vor der Erstellung des Tab3-Steuerelements zugewiesen wurden, so, als wären sie einem Tab1- oder Tab2-Steuerelement hinzugefügt worden. Alle anderen Untersteuerelemente sind nur im Anzeigebereich des Tab3-Steuerelements sichtbar.
Beim Verschieben eines Tab3-Steuerelements werden auch seine Untersteuerelemente verschoben. Dieses Verhalten gilt nicht für Tab1- und Tab2-Steuerelemente.
Sollte der seltene Fall auftreten, dass WinMove (oder ein äquivalentes DllCall) zum Verschieben eines Steuerelements verwendet wird, müssen die Koordinaten relativ zum übergeordneten Fenster des Steuerelements sein, das nicht unbedingt die GUI selbst ist (siehe oben). GuiControl Move dagegen verwendet immer GUI-Koordinaten und ControlMove immer Fensterkoordinaten, unabhängig davon, welchem Fenster das Steuerelement übergeordnet ist.
Größenberechnung: Wenn das Tab3-Steuerelement keine explizit angegebene Breite und/oder Höhe hat, werden diese automatisch zu folgenden Zeitpunkten berechnet (je nachdem, was zuerst eintritt, nachdem das Steuerelement erstellt wurde):
Zum Errechnen der Größe werden Untersteuerelemente, die zum Zeitpunkt der automatischen Größenanpassung existieren, plus Standardabstände einbezogen. Die Größenberechnung wird nur einmal durchgeführt, unabhängig davon, ob später neue Steuerelemente hinzugefügt werden. Wenn das Tab3-Steuerelement leer ist, bekommt es wie Tab1 oder Tab2 eine Standardgröße zugewiesen.
Die Größe von Tab1- und Tab2-Steuerelementen wird nicht automatisch angepasst; sie erhalten eine willkürliche Standardgröße.
Tabulatornavigationsreihenfolge: Die Navigationsreihenfolge via Tab hängt von der Reihenfolge ab, in der die Steuerelemente erstellt wurden. Bei Tab-Steuerelementen hängt die Navigationsreihenfolge zusätzlich vom Typ des Tab-Steuerelements ab:
Benachrichtigungsmeldungen (Tab3): Gewöhnliche und benutzerdefinierte Steuerelemente senden in der Regel Benachrichtigungsmeldungen an ihre übergeordneten Fenster. Alle WM_COMMAND-, WM_NOTIFY-, WM_VSCROLL-, WM_HSCROLL- oder WM_CTLCOLOR...-Meldungen, die an das Tab-Dialogfenster eines Tab3-Steuerelements gesendet wurden, werden an das GUI-Fenster weitergeleitet und können via OnMessage() erkannt und verarbeitet werden. Wenn das Tab3-Steuerelement thematisiert ist und das Untersteuerelement ohne die BackgroundTrans-Option erstellt wurde, wird WM_CTLCOLORSTATIC vom Tab-Dialogfenster verarbeitet und nicht weitergeleitet. Andere Benachrichtigungsmeldungen (z.B. benutzerdefinierte Meldungen) werden nicht unterstützt.
Bekannte Probleme mit Tab2:
Bekannte Probleme mit Tab1:
Ein randloser Textbereich, der vom Benutzer nicht editiert werden kann. Wird oft zur Beschriftung anderer Steuerelemente verwendet.
Syntax:
Gui, Add, Text, Optionen, Zeichenkette
Beispiel:
Gui, Add, Text,, Bitte tragen Sie Ihren Namen ein:
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer den Text anklickt. Ein Doppelklick kann durch Überprüfen der internen Variable A_GuiEvent erkannt werden.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der Text-Styles-Tabelle.
Ein Text, der angezeigt wird. Kann Zeilenvorschübe (`n) zum Starten neuer Zeilen enthalten. Außerdem kann via Fortsetzungsbereich eine lange Zeile in mehrere kurze Zeilen aufgeteilt werden.
Ein Und-Zeichen (&) kann verwendet werden, um einen Buchstaben zu unterstreichen, wie z.B. den Buchstaben V in &Vorname. Dies ermöglicht dem Benutzer, den Tastaturkurzbefehl Alt+V zu drücken, um den Tastaturfokus auf das erste eingabefähige Steuerelement zu setzen, das nach dem Text-Steuerelement erstellt wurde. Um ein Und-Zeichen darzustellen, müssen zwei aufeinanderfolgende Und-Zeichen (&&) angegeben werden. Um die Sonderbehandlung der Und-Zeichen komplett zu deaktivieren, fügen Sie 0x80 in Optionen ein.
Da es sich um den letzten Parameter handelt, müssen Kommas nicht mit einem Escapezeichen versehen werden. Dieser Sachverhalt gilt auch für den letzten Parameter aller anderen Befehle.
Wenn in Optionen eine Breite (W), aber keine Zeilen (R) oder Höhe (H) angegeben ist, werden Textzeilen bei Bedarf umbrochen und die Höhe des Steuerelements automatisch gesetzt.
Ermöglicht die Darstellung einer Hierarchie von mehreren ineinander verschachtelten Elementen. Das wohl bekannteste Beispiel dafür ist der Navigationsbereich am linken Rand eines Explorer-Fensters, mit dem Laufwerke und Ordner ausgewählt werden können.
Syntax:
Gui, Add, TreeView, Optionen
Beispiel:
Gui, Add, TreeView, r10
Erscheinungsbild:
Weitere Informationen finden Sie auf der separaten TreeView-Seite.
Zwei Pfeile als Schaltflächen, die der Benutzer drücken kann, um einen Wert zu erhöhen oder zu verringern. Standardmäßig fügt sich ein UpDown automatisch an das zuvor hinzugefügte Steuerelement an, welches als Buddy bezeichnet wird.
Syntax:
Gui, Add, UpDown, Optionen, StartPos
Beispiel:
Gui, Add, Edit Gui, Add, UpDown, vMeinUpDown Range1-10, 5
Erscheinungsbild:
Neben den allgemeinen Optionen und Styles werden die folgenden unterstützt oder sind erwähnenswert:
Horz: Richtet die Schaltflächen des Steuerelements nach links/rechts statt oben/unten aus. Standardmäßig bewirkt Horz aber auch, dass das Steuerelement isoliert wird (ohne Buddy). Dieses Verhalten kann durch die Angabe von Horz 16 überschrieben werden.
Left: Positioniert das UpDown auf der linken statt rechten Seite seines Buddys.
RangeMinMax: Setzt den Wertebereich auf etwas anderes als 0 bis 100. Geben Sie für MinMax den Minimal- und Maximalwert an (mit einem Bindestrich dazwischen). Zum Beispiel erlaubt Range1-1000 die Auswahl einer Zahl zwischen 1 und 1000; Range-50-50 eine Zahl zwischen -50 und 50; und Range-10--5 eine Zahl zwischen -10 und -5. Minimal- und Maximalwert können vertauscht werden, um die Schrittrichtung der Pfeile umzukehren. Der größte zulässige Wertebereich ist von -2147483648 bis 2147483647. Wenn der Buddy eine ListBox ist, verwenden vertikale UpDowns standardmäßig einen Wertebereich von 32767 bis 0 und horizontale UpDowns standardmäßig einen Wertebereich von 0 bis 32767.
Wrap: Veranlasst das Steuerelement, zum anderen Ende des gültigen Wertebereichs zu springen, wenn der Benutzer versucht, den Minimal- oder Maximalwert zu überschreiten. Wenn weggelassen, stoppt das Steuerelement beim Erreichen des Minimal- oder Maximalwerts.
16: Geben Sie -16 (minus 16) an, um ein vertikales UpDown zu isolieren; das heißt, es wird keinen Buddy haben. Dies bewirkt auch, dass sich das UpDown nicht an die Größe des Buddys anpasst, sondern eine eigene Breite, Höhe und Position hat bzw. haben kann. Ein isoliertes UpDown speichert selbst seine aktuelle Position. Mit Mitteln wie Gui Submit kann diese Position abgerufen werden.
0x80: Verhindert, dass Tausendertrennzeichen die dezimalen Ziffern des Buddys in Dreiergruppen unterteilen. Normalerweise ist dieser Style nicht notwendig, da man den aktuellen Wert auch direkt vom UpDown abrufen kann, um einen Wert ohne Tausendertrennzeichen zu erhalten.
VName: Die zugeordnete Variable bekommt die aktuelle numerische Position des UpDowns zugewiesen. Wenn das UpDown mit einem Eingabefeld verbunden ist und Sie nicht prüfen möchten, ob die Benutzereingabe gültig ist, sollten Sie am besten den aktuellen Wert des UpDowns verwenden, nicht den des Eingabefelds. Dadurch wird sichergestellt, dass immer eine Zahl innerhalb des gültigen Wertebereichs zurückgegeben wird, selbst wenn der Benutzer etwas in das Eingabefeld eingetragen hat, das nicht-numerisch ist oder außerhalb des gültigen Wertebereichs liegt. Beachten Sie außerdem, dass Zahlen länger als 3 Ziffern standardmäßig mit einem Tausendertrennzeichen (z.B. Punkt) in Dreiergruppen unterteilt werden. Dieses Trennzeichen wird nur in die zugeordnete Variable des Eingabefelds (falls vorhanden) gespeichert, nicht in die des UpDowns.
GLabel: Das g-Label wird jedes Mal automatisch gestartet, wenn der Benutzer auf eine der Pfeilschaltflächen klickt oder eine Pfeiltaste auf der Tastatur drückt. Jeder Start aktualisiert die zugeordnete Variable des Steuerelements (falls vorhanden).
Wn: Setzt die Breite eines isolierten UpDowns. Zum Beispiel bewirkt w400, dass das Steuerelement 400 Pixel breit gemacht wird. Wenn diese Option weggelassen wird, ist die Breite eines vertikalen UpDowns standardmäßig das 2-fache der aktuellen Schriftgröße und die Breite eines horizontalen UpDowns standardmäßig das 15-fache der aktuellen Schriftgröße.
Rn oder Hn: Setzt die Höhe eines isolierten UpDowns. Zum Beispiel bewirkt r7, dass das Steuerelement 7 Zeilen hoch gemacht wird, oder h400, dass dessen Höhe auf 400 Pixel gesetzt wird. Wenn beide Optionen weggelassen werden, ist die Höhe eines vertikalen UpDowns standardmäßig 5 Zeilen und die Höhe eines horizontalen UpDowns standardmäßig das 2-fache der aktuellen Schriftgröße.
(Unübliche numerische Styles): Eine Liste von Styles finden Sie in der UpDown-Styles-Tabelle.
Wenn leer oder weggelassen, beginnt das UpDown bei 0 oder beim niedrigsten zulässigen Bereichswert. Andernfalls geben Sie die Startposition des UpDowns an.
Das bekannteste Beispiel dafür ist der "Spinner" (Drehrad) – ein Eingabefeld mit angefügtem UpDown. Wenn der Benutzer eine der Pfeilschaltflächen drückt, wird die Zahl im Eingabefeld automatisch erhöht oder verringert.
Der Buddy kann auch ein Text- oder ListBox-Steuerelement sein. Bei anderen Steuerelementen (wie z.B. ComboBox oder DropDownList) kann es aufgrund von OS-Einschränkungen vorkommen, dass sie nicht ordnungsgemäß mit einem g-Label oder anderen Features funktionieren.
Um die UpDown-Schrittweite auf einen anderen Wert als 1 zu ändern (z.B. 5 oder 0.1), siehe dieses Skript.
Das im Buddy angezeigte Zahlenformat kann wie folgt von dezimal auf hexadezimal umgestellt werden:
Gui +LastFound SendMessage, 0x046D, 16, 0, msctls_updown321 ; 0x046D ist UDM_SETBASE.
Dies wirkt sich nur auf den Buddy aus, nicht auf die von UpDown gemeldete Position.