Beschreibung: Ein rahmenloses Feld, das einen vom Benutzer nicht änderbaren Text enthält. Textfelder werden oft für die Erläuterung anderer Controls verwendet.
Beispiel: Gui, Add, Text,, Bitte den Namen eingeben:
Der dritte Parameter ist der anzuzeigende Text. Er kann durch eingefügte Zeilenvorschübe (`n) in mehrere Zeilen aufgeteilt werden. Wenn die dabei entstehende Skriptzeile zu lang wird, kann sie zusätzlich durch Verwendung eines Fortsetzungsblocks (continuation section) auf mehrere Skriptzeilen verteilt werden.
Wenn in Options die Breite (W) aber weder die Zeilenzahl (R) noch die Höhe (H) vorgegeben wurden, wird der Text entsprechend der angegebenen Breite an Wortgrenzen umgebrochen und die Höhe automatisch an die resultierende Zeilenzahl angepasst.
Weil der anzuzeigende Text der letzte Parameter der Anweisung ist, brauchen enthaltene Kommas nicht maskiert (`,) zu werden. Das gilt auch für den letzten Parameter aller anderen Anweisungen.
In Options kann auch ein G-Label wie gMeineSubroutine angegeben werden. MeineSubroutine: wird dann immer automatisch aufgerufen, wenn der Benutzer auf den Text klickt. Damit kann z.B. ein unterstrichener blauer Hyperlink simuliert werden, wie das folgende lauffähige Skript zeigt:
Gui, Font, underline
Gui, Add, Text, cBlue gLaunchGoogle, Hier klicken, um Google zu starten.
Gui, Font, norm
Gui, Show
return
LaunchGoogle:
Run www.google.com
return
Auch Doppelklicks können erkannt werden. Die Variable A_GuiEvent enthält dann das Wort "DoubleClick".
Ein kaufmännisches Und (&) kann innerhalb des Textes verwendet werden, um einen der Buchstaben zu unterstreichen und damit als Shortcut festzulegen. Beispiel:
Gui, Add, Text,, &Vorname:
Gui, Add, Edit
In diesem Beispiel wird der Buchstabe V unterstrichen dargestellt und der Shortcut Alt+V erzeugt, der den Eingabefokus auf das erste eingabefähige Control setzt, das der Gui nach dem Textfeld zugefügt wurde. Durch Angabe von 0x80 in Options wird dieses Verhalten abgeschaltet. Für ein normales & müssen zwei aufeinanderfolgende (&&) angegeben werden.
Verschiedene allgemeine Optionen wie Right, Center und Hidden können auch auf Textfelder angewendet werden.
Beschreibung: Ein Feld, in dem der Benutzer Text bearbeiten kann.
Beispiel: Gui, Add, Edit, r9 vMyEdit, Text, der im Edit angezeigt wird (wenn dieser Parameter weggelassen wird, ist das Feld leer).
Wenn der Text mehrere Zeilen umfasst, wird auch das Editfeld mehrzeilig. Die Angabe r3 in Options erzeugt z.B. ein dreizeiliges Editfeld mit folgenden Standardeigenschaften: Ein vertikaler Scrollbalken, automatischer Zeilenumbruch an Wortgrenzen und Verarbeitung der Eingabetaste im Editfeld, d.h. die Eingabetaste erzeugt eine neue Zeile im Editfeld und wird nicht an den Standardbutton des Fensters geleitet.
Für den Zeilenumbruch in einem mehrzeiligen Editfeld kann der letzte Parameter sowohl einzelne Zeilenvorschübe (`n) oder die Kombination Wagenrücklauf + Zeilenvorschub (`r`n) enthalten. Beide Arten erzeugen `r`n Paare innerhalb des Editfeldes. Wenn der Feldinhalt aber mit Gui Submit oder GuiControlGet in eine Variable gespeichert wird, werden immer sämtliche `r`n Paare im Text in einzelne Zeilenvorschübe (`n) umgesetzt. Wie man die Eingabe in einer Datei speichert, zeigt das folgende Beispiel: FileAppend, %MeinEdit%, C:\Datei.txt
Wenn der Zeilenumbruch an Wortgrenzen aktiv ist (Voreinstellung für mehrzeilige Editfelder), werden für diese Umbrüche keine Zeilenvorschübe erzeugt. Zeilenvorschübe erzeugt ausschließlich die Eingabetaste.
Unter Windows 95/98/Me können Editfelder nur 64 KB Text enthalten. Unter Windows NT/2k/XP oder neuer liegt die Grenze bei 4 GB. Während der Eingabe wird zusätzlicher Speicherplatz immer dann reserviert, wenn er benötigt wird.
In Options kann auch ein G-Label wie gMeineSubroutine angegeben werden. MeineSubroutine: wird dann immer automatisch aufgerufen, wenn der Inhalt des Textfeldes durch den Benutzer oder das Skript verändert wird.
TIPP: Eine Textdatei kann mit FileRead und GuiControl in einem Editfeld angezeigt werden, wie das folgende Beispiel zeigt:
Gui, Add, Edit, R20 vMeinEdit
FileRead, DateiInhalt, C:\Datei.txt
GuiControl,, MeinEdit, %DateiInhalt%
Optionen für Editfelder: (um eine Option zu entfernen, muss ihr ein Minuszeichen vorangestellt werden):
Limit: Beschränkt die Länge der Benutzereingaben auf die sichtbare Breite des Feldes. Alternativ kann die Eingabe auch auf eine bestimmte Anzahl von Zeichen begrenzt werden, wenn dem Wort Limit direkt eine Zahl angehängt wird. Limit10 erlaubt z.B. die Eingabe von maximal 10 Zeichen.Lowercase: Die Eingaben des Benutzers werden automatisch in Kleinbuchstaben umgesetzt.
Multi: Erzeugt ein Textfeld mit der Möglichkeit, mehrere Zeilen einzugeben. Diese Option wird normalerweise nicht benötigt, weil diese Eigenschaft bei entsprechenden Optionen für Höhe (H), Zeilenzahl (R) oder anhand des Inhalts (Text) automatisch gesetzt wird.
Number: Verhindert, dass der Benutzer andere Zeichen als Ziffern eingeben kann (andere Zeichen können aber trotzdem über die Zwischanablage eingefügt werden). Alternativ kann für die Eingabebeschränkung auf Ziffern die Zuordnung eines UpDown-Controls zum Editfeld genutzt werden.
Password: Verbirgt die Benutzereingaben (z.B. für eine Kennworteingabe), indem die eingegebenen Zeichen in der Anzeige durch Maskenzeichen ersetzt werden. Das Standardmaskenzeichen unter Windows XP ist die schwarze Kugel (Bullet). Wenn nicht das Standardzeichen des Systems verwendet werden soll, muss dieses Zeichen direkt an das Wort Password angehängt werden. Password* z.B. macht den Stern (*) zum Maskenzeichen. Hinweis: Diese Option wirkt nicht auf mehrzeilige Editfelder.
ReadOnly: Verhindert, dass der Inhalt des Editfeldes durch den Benutzer verändert werden kann. Der Inhalt kann aber trotzdem gescrollt, markiert und in die Zwischenablage kopiert werden.
Tn: Mit der Option T können Tabulatoren innerhalb eines mehrzeiligen Editfeldes gesetzt werden. Weil Tabulatoren die Positionen bestimmen, die beim Drücken der Tabulatortaste angesprungen werden, kann damit z.B. mehrspaltiger Text erzeugt werden. Wenn die Option T nicht angegeben ist, werden automatisch Tabulatoren im Abstand von 32 Dialogeinheiten gesetzt (die Breite jeder "Dialogeinheit" bestimmt das Betriebssystem). Wenn die Option T nur einmal angegeben wird, werden Tabulatoren über die gesamte Breite des Feldes im Abstand von n Einheiten gesetzt. Gui, Add, Edit, vMyEdit r16 t64 verdoppelt z.B. den Standardabstand zwischen den Tabulatoren. Für selbstbestimmte Tabulatoren muss die Option T wie im folgenden Beispiel mehrfach angegeben werden: Gui, Add, Edit, vMyEdit r16 t8 t16 t32 t64 t128. Für jede Optionsangabe wird ein Tabulator auf der angegebenen absoluten Spalte gesetzt. Maximal können 50 Tabulatoren vorgegeben werden. Hinweis: Tabulatoren können nur in einem mehrzeiligen Editfeld gesetzt werden.
Uppercase: Die Eingaben des Benutzers werden automatisch in Großbuchstaben umgesetzt.
WantCtrlA [v1.0.44+]: Die Angabe -WantCtrlA (Minus WantCtrlA) verhindert, dass der Benutzer mit Control-A den gesamten Inhalt des Feldes markieren kann.
WantReturn: Die Angabe -WantReturn (Minus WantReturn) verhindert, dass ein mehrzeiliges Editfeld die Eingabetaste verarbeitet. Das Drücken der Eingabtaste löst dann den Standardbutton des Fensters aus, wenn einer festgelegt wurde. Der Benutzer kann Zeilenumbrüche aber weiterhin mit Control-Enter einfügen.
WantTab: Bewirkt, dass die Tabulatortaste im Editfeld als Tab-Zeichen verarbeitet wird, anstatt auf das nächste Control zu wechseln. Ohne diese Option können Tab-Zeichen in einem mehrzeiligen Editfeld nur mit Control-Tab erzeugt werden. Hinweis: WantTab wird auch für einzeilige Editfelder angenommen, die Tab-Zeichen werden dort aber als "leeres Quadrat" angezeigt, obwohl sie als echtes Tab-Zeichen gespeichert werden.
-Wrap (Minus
Wrap): Schaltet den Zeilenumbruch an Wortgrenzen in einem mehrzeiligen
Editfeld aus. Diese Eigenschaft kann nach der Erstellung des Controls
nicht mehr geändert werden. Für eine
Änderung muss deshalb eine der folgenden Methoden verwendet
werden:
1) Man zerstört
(destroy) das Fenster mit allen Controls und
erstellt sie
dann neu, oder
2) Man erstellt zwei
übereinanderliegende Controls, eines mit und eines ohne -Wrap,
das jeweils nicht benötigte kann dann verborgen und geleert
werden.
Ein funktionsreicheres Edit-Control: HiEdit ist ein freies Edit-Control mit mehreren Registern und geringem Speicherplatzbedarf. Es kann sowohl große Text- als auch Binärdateien anzeigen. Nähere Einzelheiten und Beispiele für die Verwendung finden sich unter http://www.autohotkey.com/forum/topic19141.html
Beschreibung: Ein Buttonpaar mit pfeilförmiger Beschriftung, das der Benutzer anklicken kann, um einen Wert zu erhöhen oder zu vermindern. Als Voreinstellung bindet sich ein UpDown automatisch an das zuletzt davor erzeugte Control. Dieses Control wird als Buddy-Control des UpDown bezeichnet. Die gebräuchlichste Anwendung ist die Kombination eines UpDown mit einem Editfeld, z.B.:
Gui, Add, Edit
Gui, Add, UpDown, vMeinUpDown Range1-10, 5
In diesem Beispiel ist das Editfeld das Buddy-Control des UpDowns. Immer, wenn der Benutzer einen der Buttons drückt, wird die Zahl im Editfeld automatisch um Eins erhöht bzw. vermindert.
Das Buddy-Control kann auch ein Textfeld oder eine ListBox sein. Wegen der Beschränkungen der Betriebssysteme werden bei andere Controls (wie ComboBox und DropDownList) das G-Label und weitere Eigenschaften nicht immer zuverlässig verarbeitet.
Der Startwert des UpDowns kann im letzten Parameter angegeben werden. Wird er weggelassen, wird als Startwert 0 oder der 0 nächstgelegene Wert des angegebenen Bereichs gewählt.
Die Gui Submit Anweisung speichert den aktuellen numerischen Wert des UpDowns in der zugewiesenen Ausgabevariablen. Wenn das UpDown mit einem Editfeld verbunden ist und man die Benutzereingaben nicht auf Gültigkeit prüfen will, sollte man den Wert des UpDowns verwenden und das Editfeld ignorieren, weil das UpDown immer einen gültigen numerischen Wert enthält, während der Benutzer im Editfeld auch nicht numerische Werte oder Werte außerhalb des zulässigen Bereichs eingeben kann. Als ergänzender Hinweis: In Zahlen mit mehr als drei Stellen wird als Vorgabe das Tausendertrennzeichen eingefügt. Dieses Trennzeichen wird in der Ausgabevariablen des Editfeldes mitgespeichert, nicht aber in der Variablen des UpDowns.
Wenn das UpDown ein G-Label hat, wird dieses immer dann automatisch aufgerufen, wenn der Benutzer einen der Buttons oder eine der Pfeiltasten drückt. Der aktuelle Wert des UpDowns wird dabei in der zugewiesenen Ausgabevariablen gespeichert.
Optionen für UpDowns:
Horz: Bewirkt, dass die Buttons des UpDowns nach links und rechts zeigen anstatt nach oben und unten. In der Voreinstellung verhindert Horz ebenso die automatische Verbindung mit einem Buddy-Control. Dieses Verhalten kann durch Angabe von Horz 16 geändert werden.
Left: Das UpDown wird links vom Buddy-Control angezeigt anstatt rechts.
Range: Setzt den gültigen Bereich auf andere als die voreingestellten Werte 0 - 100. Unmittelbar nach dem Wort Range werden das Minimum, ein Bindestrich und das Maximum angegeben. Beispiele: Range1-1000 lässt die Auswahl einer Zahl im Bereich von 1 bis 1000 zu, Range-50-50 im Bereich von -50 bis 50 und Range-10--5 im Bereich von -10 bis -5. Minimum und Maximum können vertauscht werden, die Pfeile der Buttons zeigen dann in die entgegengesetzte Richtung. Der größte erlaubte Bereich ist -2147483648-2147483647. Windows 95 und NT4 benötigen aber den Internet Explorer 5.0 oder neuer, um Bereiche größer als -32767-32767 zu unterstützen. Wenn das Buddy-Control eine ListBox ist, ist die Voreinstellung für den Bereich 32767-0 für vertikale und 0-32767 für horizontale (Horz) UpDowns.
Wrap: Veranlasst das Control am Ende des Bereichs auf das entgegengesetzte Ende zu springen, wenn der Benutzer versucht, Minimum oder Maximum zu überschreiten. Ohne Wrap bleibt das Control stehen, wenn Minimum oder Maximum erreicht sind.
-16 (Minus 16): Bewirkt, dass ein vertikales UpDown isoliert bleibt, d.h. sich nicht mit einem Buddy-Control verbindet. Außerdem benötigt das UpDown evtl. Angaben zur Höhe, Breite und Position, weil es sich nicht automatisch am Buddy-Control ausrichtet. Den aktuellen Wert verwaltet ein isoliertes UpDown nur intern. Er kann aber ganz normal mit Gui Submit abgefragt werden.
0x80: Die Angabe der Gestaltungseigenschaft 0x80 in Options verhindert, dass das Tausendertrennzeichen im Buddy-Control eingefügt wird. Diese Gestaltungseigenschaft wird aber normalerweise nicht verwendet, weil der Wert ohne Trennzeichen jederzeit vom UpDown selbst abgerufen werden kann.
Schrittweiten ungleich 1: In diesem Skript zeigt NumEric, wie die Schrittweite eines UpDowns auf einen anderen Wert als 1 (z.B. 5 oder 0,1) geändert werden kann.
Beschreibung: Ein Picture ist ein Feld, das ein Bild anzeigt (die unterstützten Dateitypen werden in den letzten beiden Absätzen genannt). Der letzte Parameter ist der Name der Bilddatei, die in A_WorkingDir erwartet wird, wenn nicht der vollständige Pfad angegeben wird.
Beispiel: Gui, Add, Picture, w300 h-1, C:\Meine Bilder\Mein Bild.gif
Wenn das Bild in seiner originalen Breite und/oder Höhe angezeigt werden soll, werden die Optionen W und/oder H weggelassen. Anderenfalls wird das Bild auf die in W und/oder H angegebenen Werte skaliert (W und H bestimmen auch, welches der Icons einer ICO-Datei mit mehreren Icons geladen wird). Um das Bild unter Beibehaltung des Seitenverhältnisses zu vergrößern oder zu verkleinern, wird -1 für eine der Dimensionen und ein positiver Wert für die andere angegeben. w200 h-1 z.B. zeichnet das Bild 200 Pixel breit und errechnet die Höhe unter Beibehaltung des Seitenverhältnisses automatisch. Wenn das Bild nicht geladen oder angezeigt werden kann (z.B. Datei nicht gefunden), bleibt das Control leer und seine Breite und Höhe werden auf 0 gesetzt.
In Options kann auch ein G-Label wie gMeineSubroutine angegeben werden. MeineSubroutine: wird dann immer automatisch aufgerufen, wenn der Benutzer auf das Bild klickt. Auch Doppelklicks können erkannt werden. Die Variable A_GuiEvent enthält dann das Wort "DoubleClick".
Wenn ein Bild als Hintergrund für andere Controls dienen soll, sollte es normalerweise vor diesen Controls erstellt werden. Wenn die Controls aber eingabfähig sind und das Picture ein G-Label hat, sollte das Picture nach den anderen Controls mit der Gestaltungseigenschaft 0x4000000 (WS_CLIPSIBLINGS) in Options erstellt werden. Mit diesem Trick kann ein Picture auch als Hintergrund für Tab-Controls oder ListViews verwendet werden.
Icons, Cursor und animierte Cursor: Icons und Cursor können aus folgenden Dateitypen geladen werden: ICO, CUR, ANI, EXE, DLL, CPL, SCR und andere Typen, die Icon-Ressourcen enthalten. Wenn eine andere als die erste Icongruppe einer Datei genutzt werden soll, muss in Options das Wort Icon gefolgt von der Nummer der Gruppe angegeben werden. Im folgenden Beispiel wird das Standardicon der zweiten Icongruppe verwendet: Gui, Add, Picture, Icon2, C:\My Application.exe
Durch die Angabe von AltSubmit in Options wird Microsofts GDIPlus.dll für die Anzeige des Bildes verwendet. Dadurch kann sich das Aussehen von GIF, BMP und Icons verändern. ICO/GIF-Bilder mit transparentem Hintergrund werden z.B. als transparente Bitmap geladen, wodurch die Option BackgroundTrans wirksam werden kann. Wenn GDIPlus nicht vorhanden ist (s.a. folgender Absatz), wird AltSubmit ignoriert und das Bild mit der normalen Methode geladen.
Alle Betriebssystemversionen unterstützen Bilder der Formate GIF, JPG, BMP, ICO, CUR und ANI. Mit Windows XP oder neueren werden zusätzliche Formate wie PNG, TIF, Exif, WMF und EMF unterstützt. Für Systeme vor XP kann die Unterstützung durch Kopieren von Microsofts freier GDIPlus DLL in den Ordner der AutoHotkey.exe nachgerüstet werden (für kompilierte Skripte muss die DLL auch in den Skriptordner kopiert werden). Um die DLL herunterzuladen, suche bei www.microsoft.com nach folgendem Begriff: gdi redistributable
Wegen eines Systemfehlers können animierte Cursor mit einer Größe von mehr als 90x90 unter Windows 95/98/Me das Skript zum Absturz bringen.
Animierte GIFs: Animierte GIF-Dateien können in einem Picture-Control angezeigt werden, sie werden aber z.Zt. nicht animiert. Dieses Problem kann durch Einsatz der AniGIF DLL (die für die nichtkommerzielle Nutzung frei ist) gelöst werden, wie unter http://www.autohotkey.com/forum/topic19264.html gezeigt wird.
Beschreibung: Ein Button ist eine Schaltfläche, die per Mausklick oder Eingabetaste eine Aktion auslöst. Der letzte Parameter ist in diesem Fall der Name (die Beschriftung), der auf dem Button angezeigt wird. Der Name kann auch Zeilenvorschübe (`n) enthalten und so mehrzeilig angezeigt werden.
Beispiel: Gui, Add, Button, Default, OK
In diesem Beispiel enthält Options das Wort Default. Damit wird der Button "OK" zum Standardbutton. Die mit dem Standardbutton verbundene Aktion wird immer dann automatisch ausgelöst, wenn der Benutzer die Eingabetaste drückt und der Eingabefokus sich nicht auf einem anderen Button oder einem mehrzeiligen Editfeld mit der Option WantReturn befindet. Der Standardbutton kann nachträglich geändert werden. GuiControl, +default, Abbruch macht z.B. den Button "Abbruch" zum Standardbutton. Mit GuiControl, -default, OK wird diese Eigenschaft wieder entfernt.
Ein kaufmännisches Und (&) kann im Namen des Buttons verwendet werden, um einen der Buchstaben zu unterstreichen und damit als Shortcut festzulegen. Beispiel:
Gui, Add, Button,, &Pause
In diesem Beispiel wird der Buchstabe P unterstrichen dargestellt und der Shortcut Alt+P zum auslösen der Buttonaktion erzeugt. Für ein normales & müssen zwei aufeinanderfolgende (&&) angegeben werden.
Wenn für den Button in Options kein G-Label angegeben wird, wird ein Standardname für die Sprungmarke angenommen. Wenn das erste GUI-Fenster z.B. einen Button mit Namen OK enthält, wird beim Aulösen der Buttonaktion automatisch die Subroutine ButtonOK: aufgerufen, wenn sie existiert. Für andere als das erste GUI-Fenster wird der automatischen Sprungmarke die Nummer der GUI vorangestellt. Beispiel: 2ButtonOK:.
Wenn der Name des Buttons Leerzeichen oder die Zeichen &, `r, `n oder `t` enthält, werden diese Zeichen bei der Bildung der automatischen Sprungmarke übergangen. Ein Button mit dem Namen "&Pause" erhält z.B. die Sprungmarke ButtonPause, ein Button "Sichern && Ende" die Sprungmarke ButtonSichernEnde (durch das doppelte "&" wird ein normales einzelnes "&" angezeigt).
Bekannte Einschränkungen: Manche Desktopthemen zeigen Buttonnamen nicht korrekt an. Wenn das vorkommt, kann man versuchen, die Option -Wrap (Minus Wrap) zu verwenden. Damit wird aber eine mehrzeilige Beschriftung verhindert.
Beschreibung: Eine Checkbox ist ein kleines quadatisches Kästchen, das an- oder abgewählt werden kann und die Zustände An/Aus, Ja/Nein, etc. repräsentiert.
Beispiel: Gui, Add, Checkbox, vLiefernWieRechnung, An die Rechnungsanschrift liefern?
Der letzte Parameter ist eine Beschriftung, die neben der CheckBox angezeigt wird. Sie enthält normalerweise eine Frage oder eine Erläuterung für den Zweck der CheckBox. Sie kann Zeilenvorschübe (`n) enthalten und so mehrzeilig angezeigt werden. Wenn in Options die Breite (W) aber weder die Zeilenzahl (R) noch die Höhe (H) vorgegeben wurde, wird die Beschriftung entsprechend der Breite an Wortgrenzen umgebrochen und die Höhe automatisch an die resultierende Zeilenzahl angepasst. Die der Checkbox zugewiesene Ausgabevariable erhält 1 für angewählt, 0 für abgewählt oder -1 für ausgegraut/unbestimmt.
Mit der Option Check3 in Options wird ein dritter Status ermöglicht, der als ausgegraute CheckBox dargestellt wird. Dieser Status zeigt an, dass die Checkbox weder angewählt noch abgewählt ist. Durch Angabe von Checked oder CheckedGray in Options wird die CheckBox als angewählt bzw. ausgegraut angezeigt. Dem Wort Checked kann auch direkt eine 0, 1 oder -1 angehängt werden, um den anfänglichen Status zu setzen, d.h. "Checked" und "Checked%VarMitInhaltEins%" sind gleichbedeutend.
In Options kann auch ein G-Label wie gMeineSubroutine angegeben werden. MeineSubroutine: wird dann immer automatisch aufgerufen, wenn der Benutzer auf die CheckBox klickt oder sich ihr Status ändert.
Bekannte Einschränkungen: Bestimmte Desktopthemen zeigen die Beschriftung nicht korrekt an. Wenn das vorkommt, kann man versuchen, die Option -Wrap (Minus Wrap) zu verwenden. Damit wird aber eine mehrzeilige Beschriftung verhindert.
Beschreibung: Ein Radiobutton ist ein kleiner leerer Kreis, der an- oder abgewählt werden kann (An/Aus).
Beispiel: Gui, Add, Radio, vMyRadioGroup, Vor Versand abwarten, bis alle bestellten Waren vorrätig sind.
Diese Controls treten normalerweise in Gruppen (radio groups) von zwei oder mehr Radiobuttons auf. Wenn der Benutzer einen Radiobutton per Mausklick anwählt, werden die übrigen Radiobuttons der Gruppe automatisch abgewählt. Innerhalb einer Gruppe kann man sich auch mit den Pfeiltasten bewegen. Eine Gruppe wird automatisch für alle aufeinanderfolgend erstellten Radiobuttons gebildet. Um eine neue Gruppe zu erzwingen, wird Group in Options des ersten Buttons der neuen Gruppe angegeben. Durch das Hinzufügen eines beliebigen anderen Controls wird die aktuelle Gruppe ebenfalls beendet.
Der letzte Parameter ist eine Beschriftung, die rechts neben dem Radiobutton angezeigt wird. Sie enthält normalerweise eine Frage oder eine Erläuterung für den Zweck des Radiobuttons. Sie kann Zeilenvorschübe (`n) enthalten und so mehrzeilig angezeigt werden. Wenn in Options die Breite (W) aber weder die Zeilenzahl (R) noch die Höhe (H) vorgegeben wurde, wird die Beschriftung entsprechend der Breite an Wortgrenzen umgebrochen und die Höhe automatisch an die resultierende Zeilenzahl angepasst.
Mit der Option Checked in Options wird der Anfangsstatus des Radiobuttons auf "an" gesetzt. Dem Wort Checked kann auch direkt eine 0 oder 1 angehängt werden, um den anfänglichen Status zu setzen: 0 für "aus" und 1 für "an". D.h. "Checked" und "Checked%VarMitInhaltEins%" sind gleichbedeutend.
Die dem Radiobutton zugewiesene Ausgabevariable erhält 1 für "an" und 0 für "aus". Wenn aber nur einem Radiobutton einer Gruppe eine Variable zugewiesen wurde, erhält sie die laufende Nummer (bezogen auf die ursprüngliche Erstellungsreihenfolge) des aktuell ausgewählten Radiobuttons: 1 ist der erste Radiobutton , 2 der zweite, usw. Wenn kein Radiobutton ausgewählt ist, enthält sie 0.
In Options kann auch ein G-Label wie gMeineSubroutine angegeben werden. MeineSubroutine: wird dann immer automatisch aufgerufen, wenn der Benutzer auf den Radiobutton klickt. Anders als im vorigen Absatz für die Ausgabevariable beschrieben, muss das G-Label für jeden Radiobutton einer Gruppe angegeben werden, der die Subroutine aufrufen soll. Man hat so die Möglichkeit, Klicks auf bestimmte Buttons zu ignorieren. Auch Doppelklicks können erkannt werden. Die interne Variable A_GuiEvent enthält dann bei Aufruf der Subroutine das Wort "DoubleClick".
Bekannte Einschränkungen: Bestimmte Desktopthemen zeigen die Beschriftung nicht korrekt an. Wenn das vorkommt, kann man versuchen, die Option -Wrap (Minus Wrap) zu verwenden. Damit wird aber eine mehrzeilige Beschriftung verhindert.
Beschreibung: Eine DropDownList ist ein normalerweise mehrzeiliges Auswahllistenfeld, das zunächst einzeilig angezeigt wird und sich erst bei einem Klick auf einen kleinen Button vollständig öffnet ("herabfällt"). Der letzte Parameter ist in diesem Fall eine durch das Pipe-Zeichen (|) getrennte Auswahlliste wie Auswahl1|Auswahl2|Auswahl3.
Beispiel: Gui, Add, DropDownList, vFarbauswahl, Schwarz|Weiß|Rot|Grün|Blau
Wenn eines der Elemente bei der ersten Anzeige ausgewählt sein soll, müssen danach zwei Pipe-Zeichen (||) eingefügt werden. Alternativ kann in Options das Wort Choose, unmittelbar gefolgt von der Nummer des Listenelements, angegeben werden. Choose5 z.B. würde das fünfte Element auswählen (wie bei anderen Optionen kann die Angabe auch über eine Variable wie Choose%Var% erfolgen). Mit GuiControl können nachträglich die Auswahl geändert oder Einträge entfernt bzw. hinzugefügt werden.
Durch Angabe der Optionen Uppercase oder Lowercase in Options werden die Listeneinträge automatisch in Groß- bzw. Kleinbuchstaben umgesetzt. Mit der Option Sort werden die Listenelemente automatisch alphabetisch sortiert (das betrifft auch später mit GuiControl hinzugefügte Elemente). Die Option Sort ermöglicht auch eine inkrementelle Suche im Listenfeld, d.h. die Auswahl von Elementen durch Eingabe der ersten Buchstaben ihres Inhalts.
Mit der Gui Submit Anweisung wird in der zugewiesenen Ausgabevariablen der Inhalt des aktuell ausgewählten Elements gespeichert. Wenn aber die Option AltSubmit angegeben wurde, erhält die Variable die Positionsnummer des Elements in der Liste (1 für das erste Element, 2 für das zweite, etc.).
In Options kann auch ein G-Label wie gMeineSubroutine angegeben werden. MeineSubroutine: wird dann immer automatisch aufgerufen, wenn der Benutzer ein neues Element auswählt.
Mit den Optionen R oder H kann die Höhe des aufklappenden Listenbereichs bestimmt werden. Die Angabe R5 z.B. begrenzt die Anzeige auf 5 Zeilen. Wenn weder R noch H angegeben wurden, ergibt sich die Höhe aus der Anzahl der Elemente und der verfügbaren Desktopfläche (ältere Systeme als Windows XP zeigen dann aber als Voreinstellung 3 Zeilen an).
Das Trennzeichen der Listenelemente kann auch in ein anderes als das Pipe-Zeichen (|) geändert werden. Mit Gui +Delimiter`n z.B. wird das Zeilenvorschubzeichen gewählt, mit Gui +DelimiterTab das Tabulatorzeichen (`t).
Beschreibung: Wie eine DropDownList. Die ComboBox enthält aber zusätzlich ein Editfeld, in das als Alternative zur Auswahl aus der Liste auch neue Elemente eingegeben werden können.
Beispiel: Gui, Add, ComboBox, vFarbauswahl, Schwarz|Weiß|Rot|Grün|Blau
Zusätzlich zu den für die DropDownList erlaubten Optionen kann mit der Option Limit in Options die Benutzereingabe auf die Breite des Editfeldes der ComboBox beschänkt werden. Bei Angabe der Option Simple wird die ComboBox als Kombination eines Editfeldes mit unten angefügter ListBox dargestellt.
Mit der Gui Submit Anweisung wird in der zugewiesenen Ausgabevariablen der Inhalt des aktuell ausgewählten Elements gespeichert. Wenn aber die Option AltSubmit angegeben wurde, erhält die Variable die Positionsnummer des Elements in der Liste (1 für das erste Element, 2 für das zweite, etc.). Wenn kein Element ausgewählt ist, wird in beiden Fällen der Inhalt des Editfeldes in der Variablen gespeichert.
In Options kann auch ein G-Label wie gMeineSubroutine angegeben werden. MeineSubroutine: wird dann immer automatisch aufgerufen, wenn der Benutzer ein neues Element auswählt.
Beschreibung: Eine Listbox ist ein üblicherweise mehrzeiliges Auswahllistenfeld. Der letzte Parameter ist in diesem Fall eine durch das Pipe-Zeichen (|) getrennte Auswahlliste wie Auswahl1|Auswahl2|Auswahl3.
Beispiel: Gui, Add, ListBox, vFarbauswahl, Schwarz|Weiß|Rot|Grün|Blau
Wenn eines oder mehrere der Elemente bei der ersten Anzeige ausgewählt sein soll, müssen nach jedem zwei Pipe-Zeichen (||) eingefügt werden (für mehrere muss die Option Multi angegeben sein). Alternativ kann in Options das Wort Choose, unmittelbar gefolgt von der Nummer des Listenelements, angegeben werden. Choose5 z.B. würde das fünfte Element auswählen (wie bei anderen Optionen kann die Angabe auch über eine Variable wie Choose%Var% erfolgen). Mit GuiControl können nachträglich die Auswahl geändert oder Einträge entfernt bzw. hinzugefügt werden.
Mit der Gui Submit Anweisung wird in der zugewiesenen Ausgabevariablen der Inhalt des aktuell ausgewählten Elements gespeichert. Wenn aber die Option AltSubmit angegeben wurde, erhält die Variable die Positionsnummer des Elements in der Liste (1 für das erste Element, 2 für das zweite, etc.).
In Options kann auch ein G-Label wie gMeineSubroutine angegeben werden. MeineSubroutine: wird dann immer automatisch aufgerufen, wenn der Benutzer ein neues Element auswählt. Wenn der Benutzer einen Doppelklick auf ein Element ausführt, enthält die interne Variable A_GuiEvent beim Aufruf der Subroutine das Wort "DoubleClick" anstelle von "Normal". Außerdem enthält die interne Variable A_EventInfo die Positionsnummer des angeklickten Elements (1 für das erste Element, 2 für das zweite, etc.).
Wenn einer ListBox eine große Zahl von Elementen hinzugefügt wird, kann die Ausführungsgeschwindigkeit gesteigert werden, wenn vorher die Anzeigeaktualisierung mit GuiControl, -Redraw, MyListBox ausgeschaltet und danach mit GuiControl, +Redraw, MyListBox wieder eingeschaltet wird.
ListBox Optionen:
Choose: Siehe oben.
Multi: Erlaubt die gleichzeitige Auswahl mehrerer Elemente per Shift-Klick oder Control-Klick (für eine Mehrfachauswahl mit einfachem Klick muss anstelle von Multi als Option die Ziffer 8 angegeben werden). In diesem Fall speichert Gui Submit eine mit Pipe-Zeichen (|) getrennte Liste der ausgewählten Elemente in der zugewiesenen Ausgabevariablen. Wenn aber die Option AltSubmit angegeben wurde, wird mit Gui Submit eine Liste der Positionsnummern gespeichert. 1|2|3 würde z.B. bedeuten, dass die ersten drei Elemente ausgewählt sind. Auf die einzelnen Elemente der Liste kann man mit einer Parsing Loop zugreifen, wie im folgenden Beispiel:
Loop, parse, MyListBox, |
{
MsgBox Auswahl Nummer %A_Index% ist %A_LoopField%.
}
Das Trennzeichen der Listenelemente kann auch in ein anderes als das Pipe-Zeichen (|) geändert werden. Mit Gui +Delimiter`n z.B. wird das Zeilenvorschubzeichen gewählt, mit Gui +DelimiterTab das Tabulatorzeichen (`t).
ReadOnly: Verhindert die farbliche Hinterlegung ausgewählter Elemente, bei Gui Submit werden sie aber trotzdem gespeichert. Hinweis: Die Option ReadOnly kann z.Zt. nicht zusammen mit Multi verwendet werden.
Sort: Die Listenelemente werden automatisch alphabetisch sortiert (das betrifft auch später mit GuiControl hinzugefügte Elemente). Die Option Sort ermöglicht auch eine inkrementelle Suche im Listenfeld, d.h. die Auswahl von Elementen durch Eingabe der ersten Buchstaben ihres Inhalts.
Tn: Mit der Option T können Tabulatoren gesetzt werden, um den Text in mehreren Spalten zu formatieren. Wenn die Option T nicht angegeben ist, werden automatisch Tabulatoren im Abstand von 32 Dialogeinheiten gesetzt (die Breite jeder "Dialogeinheit" bestimmt das Betriebssystem). Wenn die Option T nur einmal angegeben wird, werden Tabulatoren über die gesamte Breite des Feldes im Abstand von n Einheiten gesetzt. Gui, Add, ListBox, vMeineListBox t64 verdoppelt z.B. den Standardabstand zwischen den Tabulatoren. Für selbstbestimmte Tabulatoren muss die Option T mehrfach angegeben werden, wie im folgenden Beispiel: Gui, Add, ListBox, vMeineListbox t8 t16 t32 t64 t128. Für jede Optionsangabe wird ein Tabulator auf der angegebenen absoluten Spalte gesetzt. Maximal können 50 Tabulatoren vorgegeben werden
ListView und TreeView werden auf eigenen Seiten beschrieben.
Beschreibung: Ein Hotkeyfeld sieht aus wie ein einzeiliges Editfeld, es zeigt es aber die Bezeichnung der Tasten an, die der Benutzer drückt. Wenn der Benutzer z.B. auf einer deutschen Tastatur die Tastenkombination Strg+Alt+c drückt, wird im Hotkeyfeld "STRG + ALT + C" angezeigt.
Beispiel: Gui, Add, Hotkey, vHotKeyAuswahl
Mit der Gui Submit Anweisung werden in der zugewiesenen Ausgabevariablen die Modifizierungstasten und die Hotkeytaste im Format der Hotkey Anweisung gespeichert. Beipiele: ^!C, +!Home, +^Down, ^Numpad1, !NumpadEnd. Wenn das Feld keinen Hotkey enthält, wird die Variable geleert. Hinweis: Einige Tasten werden mit gleichen Bezeichnungen angezeigt, obwohl sie als unterschiedliche Tasten empfangen wurden. ^Numpad7 und ^NumpadHome werden z.B. beide als "STRG + 7(ZEHNERTASTATUR)" angezeigt.
Als Voreinstellung ist das HotKeyfeld nicht mit einem Hotkey
vorbelegt. Wenn das Feld vorbelegt sein soll, müssen im letzten
Parameter die Modifizierungstasten und die Hotkeytaste des Hotkeys
angegeben werden: Gui,
Add, Hotkey, vHotkeyAuswahl, ^!p
Als Modifizierungstasten werden nur ^ (Control), ! (Alt) und + (Shift)
unterstützt. Die verfügbaren Tastenbezeichner finden sich in der Tastenliste.
In Options kann auch ein G-Label wie gMeineSubroutine angegeben werden. MeineSubroutine: wird dann immer automatisch aufgerufen, wenn der Benutzer das Hotkeyfeld ändert. Bei jedem Aufruf wird der aktuelle Hotkey in der zugewiesenen Ausgabevariablen gespeichert. Hinweis: Das G-Label wird auch dann aufgerufen, wenn die Eingabe des Hotkeys noch nicht vollständig ist und das Feld keinen gültigen Hotkey enthält. Wenn der Benutzer z.B. die Strg-Taste gedrückt hält, wird das G-Label einmal aufgerufen und die Variable enthält nur das Caret-Zeichen (^). Wenn der Benutzer dann mit der Eingabe von C den Hotkey vervollständigt, wird das G-Label erneut aufgerufen und die Variable enthält erst jetzt den vollständigen Hotkey (^C).
Mit der Option Limit, gefolgt von einer oder der Summe mehrerer der folgenden Zahlen, kann die Art der Hotkeys, die der Benutzer eingeben kann, eingeschränkt werden:
1: Verhindert unmodifizierte Tasten
2: Verhindert reine Shift-Kombinationen
4: Verhindert reine Control-Kombinationen
8: Verhindert reine Alt-Kombinationen
16: Verhindert Shift-Control-Kombinationen
32: Verhindert Shift-Alt-Kombinationen
64: Dieser Wert wird z.Zt. nicht unterstützt (er wird nicht korrekt
verarbeitet).
128: Verhindert Shift-Control-Alt-Kombinationen
Limit1 z.B. verhindert die Eingabe unmodifizierter Hotkeys wie Buchstaben oder Ziffern und Limit15 verlangt zumindest zwei Modifizierungstasten. Wenn der Benutzer eine verbotene Kombination von Modifizierungstasten eingibt, wird diese Kombination automatisch durch Control+Alt bzw. "STRG + ALT" ersetzt.
Das Hotkeyfeld hat nur eingeschränkte Fähigkeiten. Es unterstützt z.B. weder Maus- noch Joystick-Hotkeys und auch nicht die Windowstasten (LWin und RWin). Man kann diese Einschränkungen umgehen, indem man eine oder mehrere CheckBoxen für die Auswahl z.B. zusätzlicher Modifizierungstasten wie der Windowstasten erstellt.
Beschreibung: Ein DateTime-Control sieht aus wie ein einzeiliges Editfeld, es enthält aber eine Datums- und/oder Zeitangabe und eine ausklappbare Kalenderanzeige.
Beispiel: Gui, Add, DateTime, vMeinDatumZeitFeld, LongDate
Der letzte Parameter kann eine der folgende Angaben enthalten:
(leer): Ohne Angabe wird für die Darstellung die lokale Einstellung für das Kurzformat des Datums verwendet, z.B.: "01.06.2005".
LongDate: Für die Darstellung wird die lokale Einstellung für das Langformat des Datums verwendet, z.B. "Mittwoch, 1. Juni 2005".
Time: Zeigt nur die Zeit im lokalen Zeitformat an. Obwohl das Datum nicht angezeigt wird, ist es Bestandteil des Feldes und wird zusammen mit der Zeit im Format YYYYMMDDHH24MISS zurückgeliefert.
(Eigenes Format): Eine beliebige Kombination der Datums- und Zeitformate. yyyy-MM-dd HH:mm z.B. wird als "2005-06-01 21:37" angezeigt, dddd, d. MMMM yyyy hh:mm:ss als "Mittwoch, 1. Juni 2005 21:37:45". Eingefügte Buchstaben und Ziffern müssen in Hochkommata eingeschlossen werden wie im folgenden Beispiel: 'Datum:' dd.MM.yy 'Zeit:' hh:mm:ss, nicht alphanumerischen Zeichen wie Leerzeichen, Tabulatoren, Punkte, Kommata usw. aber nicht. Die Ausnahme bildet das einzelne Hochkomma selbst. Wenn es angezeigt werden soll, müssen vier aufeinanderfolgende Hochkommata ('''') angegeben werden bzw. nur zwei, wenn das Hochkomma innerhalb einer von Hochkommata eingeschlossenen Zeichenfolge steht.
DateTime verwenden:
Mit der Option Choose in Options, unmittelbar gefolgt von einem Datum im Format YYYYMMDD, kann ein anderes als das aktuelle Datum vorgewählt werden. Choose20050531 z.B. würde das Datum 31.05.2005 vorwählen (und wie bei anderen Optionen kann die Angabe auch über eine Variable wie Choose%Var% erfolgen). Die Angabe ChooseNone sorgt dafür, dass keine Vorauswahl getroffen wird, und erzeugt zusätzlich eine CheckBox innerhalb des Controls, die immer dann leer ist, wenn kein Datum ausgewählt ist. Wenn kein Datum ausgewählt wurde, liefern Gui Submit und GuiControlGet eine leere Zeichenfolge.
Die Uhrzeit kann ebenfalls vorgegeben werden, ihr muss aber immer ein Datum vorangestellt werden, wie es bei der Ausgabe automatisch geschieht. Das Format des Zeitanteils ist HH24MISS (Stunden, Minuten, Sekunden), wobei HH24 die Stunde im 24-Stunden-Format bedeutet (09 ist 9am und 21 ist 9pm). Eine vollständige Datums/Zeitvorgabe hat deshalb das Format YYYYMMDDHH24MISS.
Bei einer Vorgabe im Format YYYYMMDDHH24MISS muss nur
der führende Teil (zumindest das Jahr) angegeben werden. Die übrigen
weggelassenen Elemente werden automatisch auf folgende Vorgabewerte
gesetzt:
MM: Monat 01
DD: Tag 01
HH24: Stunde 00
MI: Minute 00
SS: Sekunde 00
Innerhalb des Ausklappkalenders kann der unten stehende Eintrag "Heute" angeklickt werden, um das aktuelle Datum auszuwählen. Die im Kopfteil stehenden Angaben für Monat und Jahr können ebenfalls angeklickt werden, um auf einfache Weise auf einen neuen Monat oder ein neues Jahr zu wechseln.
Tastatursteuerung: Mit den Aufwärts/Abwärts-Pfeiltasten (Up/Down), den Plus/Minustasten des Ziffernfeldes (NumpadPlus/Minus) und den Tasten "Pos 1" (Home) und "Ende" (End) können die einzelnen Werte erhöht bzw. vermindert werden. Mit den Links/Rechts-Pfeiltasten (Left/Right) bewegt man sich von Feld zu Feld. Innerhalb des Ausklappkalenders bewegt man sich mit den Pfeiltasten von Tag zu Tag, mit "Bild aufwärts/abwärts" (PageUp/Down) einen Monat zurück/vorwärts, mit "Strg" und "Bild"-Tasten (Ctrl-PageUp/Down) ein Jahr zurück/vorwärts und mit "Pos 1"/"Ende" (Home/End) auf den ersten bzw. letzten Tag des Monats.
Mit der Gui Submit Anweisung werden das ausgewählte Datum und die Zeit im Format YYYYMMDDHH24MISS in der zugewiesenen Ausgabevariablen gespeichert. Unabhängig von den in der Anzeige sichtbaren Bestandteilen werden immer Datum und Zeit geliefert.
Wenn in Options ein G-Label angegeben wurde, wird es immer dann automatisch aufgerufen, wenn der Benutzer Datum oder Zeit ändert. Vor jedem Aufruf werden das aktuell ausgewählte Datum und die Zeit in der zugewiesenen Ausgabevariablen gespeichert.
Windows 95 und NT4 brauchen die mit dem Internet Explorer 3.0 verteilten DLL-Versionen oder neuere, um DateTime-Controls unterstützen zu können.
DateTime Optionen:
Choose: Siehe oben.
Range: Gibt einen Zeitraum für die Auswahl des Datums vor. Dem Wort Range werden direkt das minimale Datum, ein Bindestrich und das maximale Datum angehängt. Range20050101-20050615 z.B. beschränkt die Auswahlmöglichkeit auf die Zeit vom 01.01.2005 bis zum 15.06.2005. Sowohl Minimum als auch Maximum können weggelassen werden, um die Auswahlmöglichkeit in der entsprechenden Richtung nicht zu beschränken. Range20010101 verhindert z.B. die Auswahl eines Datums vor dem 01.01.2001 und Range-20091231 (führender Bindestrich) die Auswahl eines Datums nach dem 31.12.2009. Ohne die Option Range kann jedes Datum der Jahre 1601 bis 9999 ausgewählt werden. Die Uhrzeit kann nicht eingeschränkt werden.
Right: Bewirkt, dass der Kalender auf der rechten Seite des Controls ausgeklappt wird und nicht auf der linken.
1: Die Option 1 in Options bewirkt, dass auf der rechten Seite des DateTime-Feldes anstelle des Buttons für den Ausklappkalender ein UpDown-Control für die Veränderung der Datums-/Zeitwerte erstellt wird.
2: Die Option 2 in Options bewirkt, dass innerhalb des Controls eine CheckBox erstellt wird, die der Benutzer abwählen kann, um damit festzulegen, dass kein Datum ausgewählt wurde. Nach der Erstellung des Controls kann diese Option nicht mehr verändert werden.
Beschreibung: Ein größeres Control im Format eines Monatskalenders. Der Benutzer kann einen einzelnen Tag oder einen Zeitraum auswählen.
Beispiel: Gui, Add, MonthCal, vMeinKalender
Um bei der ersten Anzeige ein anderes als das aktuelle Datum auszuwählen, gibt man das Datum im Format YYYYMMDD im letzten Parameter an (z.B. 20050531). Auch ein Zeitraum kann ausgewählt werden, indem man zwei durch einen Bindestrich getrennte Daten angibt (z.B. 20050525-20050531).
Normalerweise sollte man die Optionen Breite (W) und Höhe (H) für ein MonthCal-Control nicht verwenden, weil es sich automatisch auf die für die Anzeige eines Monats benötigte Größe einstellt. Mit der Option Rn (n = Anzahl der Monate) in Options kann mehr als ein Monat in vertikaler Ausdehnung angezeigt werden, mit der Option W-n (W Minus n, n = Anzahl der Monate) mehr als ein Monat in horizontaler Ausdehnung. Die Optionen können kombiniert werden, um die Anzeige in beiden Ausdehnungen zu erweitern.
Der unten im Control stehende Eintrag "Heute" kann angeklickt werden, um das aktuelle Datum auszuwählen. Die im Kopfteil stehenden Angaben für Monat und Jahr können ebenfalls angeklickt werden, um auf einfache Weise auf einen neuen Monat oder ein neues Jahr zu wechseln.
Anders als beim Ausklappkalender des DateTime-Controls wird die Tastatursteuerung von MonthCal-Controls nicht unterstützt.
Mit der Gui Submit Anweisung wird das ausgewählte Datum im Format YYYYMMDD (ohne Zeitanteil) in der zugewiesenen Ausgabevariablen gespeichert. Wenn aber die Option Multi angegeben wurde, werden Anfangs- und Enddatum getrennt durch einen Bindestrich gespeichert (z.B. 20050101-20050108). Wenn in einem Kalender mit Mehrfachauswahl nur ein einzelnes Datum ausgewählt wurde, sind Anfangs- und Enddatum identisch. Mit StringSplit kann man den Wert in zwei einzelne Daten aufteilen. StringSplit, Datum, MeinKalender, - z.B. speichert das Anfangsdatum in Datum1 und das Enddatum in Datum2.
Wenn in Options ein G-Label angegeben wurde, wird vor jedem Aufruf das aktuelle ausgewählte Datum bzw. der aktuelle Zeitraum in der zugewiesenen Ausgabevariablen gespeichert. Per Voreinstellung wird das G-Label nur dann aufgerufen, wenn: 1) der Benutzer die Auswahl ändert oder 2) alle zwei Minuten für den Fall, dass ein neuer Tag beginnt (dieses Verhalten ist eine Eigenart des Betriebssystems). Wenn in Options aber die Option AltSubmit angegeben wurden, wird das G-Label öfter aufgerufen und die interne Variable A_GuiEvent enthält das Wort "Normal" für eine Änderung der Auswahl, die Ziffer 1 für einen Klick auf ein Datum und die Ziffer 2, wenn das MonthCal-Control die "Mauskontrolle" wieder freigibt. Wenn z.B. der Benutzer einen Doppelklick auf ein neues Datum ausführt, wird die Subroutine fünf Mal aufgerufen: Einmal mit "Normal", zweimal mit "1" und zweimal mit "2". Es ist möglich, durch Messung der Zeit zwischen zwei Aufrufen mit "1" (Klick) einen Doppelklick zu erkennen.
Bei der Angabe von Daten im Format YYYYMMDD können MM und/oder DD weggelassen werden. Für beide Werte wird dann "01" angenommen. 200205 wird z.B. als 20020501 und 2005 als 20050101 behandelt.
Windows 95 und NT4 brauchen die mit dem Internet Explorer 3.0 verteilten DLL-Versionen oder neuere, um MonthCal-Controls unterstützen zu können.
MonthCal Options:
Multi: Mehrfachauswahl (multi-select). Der Benutzer kann per Shift-Klick oder Klicken und Ziehen einen zusammenhängenden Bereich von Tagen auswählen (er kann allerdings auch ein einzelnes Datum wählen). Wenn bei der Erstellung des Controls im letzten Parameter ein Zeitraum angegeben wird, wird diese Option automatisch gesetzt, z.B. mit Gui, Add, MonthCal, vMyCal, 20050101-20050108. Nach der Erstellung des Controls kann diese Option nicht mehr verändert werden.
Range: Gibt eine Zeitraum für die Auswahl des Datums vor. Dem Wort Range werden direkt das minimale Datum, ein Bindestrich und das maximale Datum angehängt. Range20050101-20050615 z.B. beschränkt die Auswahlmöglichkeit auf die Zeit vom 01.01.2005 bis zum 15.06.2005. Sowohl Minimum als auch Maximum können weggelassen werden, um die Auswahlmöglichkeit in der entsprechenden Richtung nicht zu beschränken. Range20010101 verhindert z.B. die Auswahl eines Datums vor dem 01.01.2001 und Range-20091231 (führender Bindestrich) die Auswahl eines Datums nach dem 31.12.2009. Ohne die Option Range kann jedes Datum der Jahre 1601 bis 9999 ausgewählt werden. Die Uhrzeit kann nicht eingeschränkt werden.
4: Die Option 4 in Options bewirkt, dass links neben der Reihe von Tagen einer Woche die Wochennummer (1-52) angezeigt wird. Woche 1 ist die erste Woche eines Jahres, die zumindest 4 Tage des Jahres enthält.
8: Die Option 8 in Options bewirkt, dass das aktuelle Datum nicht umrahmt wird.
16: Die Option 16 in Options bewirkt, dass das aktuelle Datum nicht unten im Control angezeigt wird.
Beschreibung: Ein Slider ist ein horizontaler oder vertikaler Schieberegler. Die Lautstärkeregelung im Infobereich (Tray) der Taskleiste ist z.B. ein Slider.
Beispiel: Gui, Add, Slider, vMeinSlider, 50
Die Starposition des Sliders wird im letzten Parameter angegeben. Wenn der Parameter weggelassen wird, ist die Startposition 0 oder der 0 nächstgelegene Wert des vorgegebenen Wertebereichs.
Der Benutzer kann den Regler auf folgende Arten bewegen: 1) Ziehen des Reglers mit der Maus, 2) Klicken auf die Reglerbahn, 3) Drehen des Mausrads, während das Control den Eingabefokus hat, oder 4) Drücken der folgenden Tasten, während das Control den Eingabefokus hat: Pfeiltasten (Up/Down/Left/Right), Bild-Aufwärts/Abwärts (PageUp/Down), Pos 1 (Home) und Ende (End).
Mit der Gui Submit Anweisung wird die aktuelle numerische Position des Sliders in der zugewiesenen Ausgabevariablen gespeichert. Die Position wird auch immer dann gespeichert, wenn das G-Label des Controls aufgerufen wird.
Wenn in Options ein G-Label angegeben wurde, wird es in der Voreinstellung immer nur dann aufgerufen, wenn der Benutzer das Bewegen des Sliders beendet (wie z.B. durch Loslassen der Maustaste nach dem Ziehen). Wenn aber die Option AltSubmit in Options angegeben ist, wird das G-Label bei allen Slider-Ereignissen aufgerufen und die interne Variable A_GuiEvent enthält eine der folgenden Ziffern oder Zeichenfolgen:
0: Der Benutzer hat eine der Pfeiltasten "links" oder
"aufwärts" (Left oder Up) gedrückt.
1: Der Benutzer hat eine der Pfeiltasten "rechts" oder
"abwärts" (Right oder Down) gedrückt.
2: Der Benutzer hat die Taste "Bild-Aufwärts"
(PageUp) gedrückt.
3: Der Benutzer hat die Taste "Bild-Abwärts"
(PageDown) gedrückt.
4: Der Benutzer hat den Slider mit dem Mausrad bewegt oder das Ziehen
auf eine neue Position beendet.
5: Der Benutzer bewegt den Slider durch Ziehen mit der Maus (d.h.: die
Maustaste ist z.Zt. gedrückt).
6: Der Benutzer hat die Taste "Pos 1" (Home) gedrückt.
7: Der Benutzer hat die Taste "Ende" (End) gedrückt.
Normal: Der Benutzer hat das Bewegen des Sliders per Maus oder Tastatur
beendet. Hinweis: Mit Ausnahme des
Mausrad-Ereignisses (4) wird das G-Label
nochmals mit dem Ereignis "Normal" aufgerufen, nachdem es mit einem der
o.a. "Ziffern"-Ereignisse aufgerufen wurde.
Slider Optionen:
Buddy1 und Buddy2: Bestimmt bis zu zwei existierende Controls, die automatisch an den Enden des Sliders positioniert werden. Buddy1 wird links oder oben angezeigt (abhängig davon, ob die Option Vertical angegeben wurde), Buddy2 demgemäß rechts oder unten. Unmittelbar nach den Worten Buddy1 oder Buddy2 wird der Name der Variablen eines existierenden Controls angegeben. Buddy1MyTopText z.B. weist das Control zu, dem die Variable vMyTopText zugewiesen wurde. Windows 95 und NT4 benötigen den Internet Explorer 3.0 oder neuere Versionen, um diese Option zu unterstützen.
Center: Der Regler wird mit zwei flachen Enden dargestellt anstatt mit einem spitzen Ende.
Invert: Der niedrigere Wert wird der rechten/unteren Seite des Controls zugewiesen, nicht der linken/oberen. Diese Option wird üblicherweise verwendet, damit ein vertikaler Slider wie ein wirklicher Schieberegler bewegt werden kann. Hinweis: Die unten beschriebene Option ToolTip beachtet diese Umkehrung nicht und sollte deshalb nicht zusammen mit dieser Option verwendet werden.
Left: Der Regler zeigt nach oben anstatt nach unten. Mit der Option Vertical zeigt der Regler nach links anstatt nach rechts.
Line: Bestimmt die Anzahl der Positionen, um die der Regler bewegt wird, wenn der Benutzer eine der Pfeiltasten drückt. Direkt nach dem Wort Line wird die Anzahl der Positionen angegeben, z.B.: Line2
NoTicks: Entlang der Reglerbahn werden keine Positionsmarken angezeigt.
Page: Bestimmt die Anzahl der Positionen, um die der Regler bewegt wird, wenn der Benutzer eine der Tasten "Bild-Aufwärts" oder "Bild-Abwärts" (PageUp/PageDown) drückt, z.B.: Page10
Range: Verändert den voreingestellten Wertebereich (0 bis 100). Direkt nach dem Wort Range werden das Minimum, ein Bindestrich und das Maximum angegeben. Range1-1000 z.B. erlaubt die Auswahl einer Zahl im Bereich von 1 - 1000, Range-50-50 eine Auswahl im Bereich von -50 bis 50 und Range-10--5 im Bereich von -10 bis -5.
Thick: Bestimmt die Höhe des Reglers. Direkt nach dem Wort Thick wird die Höhe in Pixeln angegeben (z.B. Thick30). Um eine bestimmte Höhe überschreiten zu können, ist es unter Windows XP oder später erforderlich, entweder zusätzlich die Option Center anzugeben oder das Windowsthema für das Control mit der Option -Theme zu entfernen.
TickInterval: Erzeugt entlang der Reglerbahn zusätzliche Positionsmarkierungen mit dem vorgegebenen Intervall. Direkt nach dem Wort TickInterval wird das Intervall der Positionsmarken angegeben (wenn es weggelassen wird, gilt die Voreinstellung 1). TickInterval10 z.B. zeigt alle 10 Positionen eine Marke an.
ToolTip: Erzeugt einen ToolTip, der die aktuelle Position des Sliders anzeigt, wenn der Benutzer ihn durch Ziehen mit der Maus bewegt. Wenn der ToolTip an einer anderen als der voreingestellten Position angezeigt werden soll, muss eine der Optionen ToolTipLeft oder ToolTipRight (für horizontale Slider) bzw. ToolTipTop oder ToolTipBottom (für vertikale Slider) angegeben werden. Windows 95 und NT4 benötigen den Internet Explorer 3.0 oder neuere Versionen, um diese Optionen zu unterstützen.
Vertical: Stellt die Reglerbahn senkrecht (vertikal) anstatt waagerecht (horizontal) dar.
Die o.a. Option können mit GuiControl verändert werden, nachdem das Control erstellt wurde.
Beschreibung: Eine zweifarbige Leiste mit einem Balken, die normalerweise verwendet wird, um anzuzeigen, wie weit die Bearbeitung einer längeren Aktion fortgeschritten ist.
Beispiel: Gui, Add, Progress, w300 h20 cBlue
Die Startposition (Anfangslänge des Balkens) kann im letzten Parameter angegeben werden. Wird sie nicht angegeben, ist die Startposition 0 bzw. der 0 nächstgelegene Wert des angegebenen Wertebereichs. Die folgenden Beispiele zeigen, wie die Position später verändert wird. Sie beziehen sich auf ein Progress-Control, dessen zugewiesenen Ausgabevariable MeinProgress heißt:
GuiControl,, MeinProgress, +20 ; Erhöhe die aktuelle Position um 20.
GuiControl,, MeinProgress, 50 ; Setze die aktuelle Position auf 50.
Bei horizontalen Progress-Controls entspricht die Stärke des Balkens der Höhe des Controls, bei vertikalen der Breite.
Progress Optionen:
Cn: Ändert die Farbe des Balkens. Für n wird eine der 16 primären HTML Farbnamen oder ein 6-stelliger RGB-Farbwert angegeben. Beispiele: cRed, cFFFF33, cDefault. Wenn die Option C nicht verwendet oder cDefault angegeben ist, wird die voreingestellte Farbe des Systems verwendet.
BackgroundN: Ändert die Hintergrundfarbe der Leiste. Für n wird eine der 16 primären HTML Farbnamen oder ein 6-stelliger RGB-Farbwert angegeben. Beispiele: BackgroundGreen, BackgroundFFFF33, BackgroundDefault. Wenn die Option Background nicht verwendet oder BackgroundDefault angegeben ist, wird die Hintergrundfarbe des Fensters bzw. des dahinterliegenden Tab-Controls verwendet.
Range: Verändert den voreingestellten Wertebereich (0 bis 100). Direkt nach dem Wort Range werden das Minimum, ein Bindestrich und das Maximum angegeben. Range1-1000 z.B. erlaubt die Auswahl einer Zahl im Bereich von 1 - 1000, Range-50-50 eine Auswahl im Bereich von -50 bis 50 und Range-10--5 im Bereich von -10 bis -5. Unter Windows 95 und NT4 werden negative Bereiche und Bereiche jenseits von 65535 nicht korrekt verarbeitet, wenn nicht der Internet Explorer 3.0 oder eine neuere Version installiert ist.
-Smooth (Minus Smooth): Zeigt anstelle eines sich kontinuierlich (weich) verändernden Balkens mehrere Segmente an. -Smooth ist erforderlich, um unter Windows XP oder neueren Versionen ein Progress-Control mit einem Windowsthema anzuzeigen. Darüberhinaus dürfen dem Control keine eigenen Farben zugewiesen werden, d.h. die Optionen C und Background dürfen nicht angegeben werden. Windows 95 und NT4 benötigen den Internet Explorer 3.0 oder neuere Versionen, um diese Option zu unterstützen.
Vertical: Stellt die Leiste senkrecht (vertikal) anstatt waagerecht (horizontal) dar. Windows 95 und NT4 benötigen den Internet Explorer 3.0 oder neuere Versionen, um diese Option zu unterstützen.
Die o.a. Option können mit GuiControl verändert werden, nachdem das Control erstellt wurde.
Beschreibung: Ein rechteckiger Rahmen, der oft andere Controls umschließt um zu zeigen, dass sie in Beziehung zueinander stehen. Der letzte Parameter ist in diesem Fall der Titel der GroupBox, der auf der linken Seite des oberen Randes angezeigt wird
Beispiel: Gui, Add, GroupBox, w400 h300, Geographische Kriterien
Als Voreinstellung kann der Titel einer GroupBox nur einzeilig sein. Durch Angabe der Option Wrap in Options kann das geändert werden..
Beschreibung: Ein großes mehrseitiges Control nach Art eines Registers, dessen einzelne Seiten weitere Controls beinhalten können. Diese Seiten werden im Folgenden als "Tabs" bezeichnet.
Tab2 gegen Tab: v1.0.47.05 fügt ein Control "Tab2" hinzu, mit dem seltene Probleme beim Neuzeichnen des ursprünglichen "Tab"-Control (z.B. im Zusammenhang mit der Aktivierung eines GUI-Fensters durch das Klicken auf bestimmte Teile seiner Controls wie z.B. Scrollleisten) behoben werden. Das ursprüngliche "Tab"-Control bleibt wegen der Abwärtskompatibilität erhalten, weil "Tab2" sein Control in Bezug auf die Reihenfolge bei der Bewegung mit der Tabulatortaste hinter die enthaltenen Controls legt. In neuen Skripten sollte aber Tab2 verwendet werden, wann immer möglich.
Beispiel: Gui, Add, Tab2, , General|View|Appearance|Settings
Der letzte Parameter oben ist eine mit Pipe-Zeichen (|) getrennte Liste von Tab-Namen. Wenn einer der Tabs bei der ersten Anzeige ausgewählt sein soll, müssen hinter seinem Namen zwei Pipe-Zeichen (||) eingefügt werden. Alternative kann in Options die Option Choose, unmittelbar gefolgt von der laufenden Nummer des Tabs angegeben werden. Choose5 würde z.B. den fünften Tab auswählen (und wie bei anderen Optionen kann die Angabe auch über eine Variable wie Choose%Var% erfolgen). Mit GuiControl kann ein anderer Tab ausgewählt oder Tabs hinzugefügt bzw. entfernt werden, nachdem das Control erstellt wurde.
Nachdem ein Tab-Control erstellt wurde, werden alle danach erstellten Controls seinem ersten Tab zugeordnet. Das kann auf nachfolgend beschriebene Weise jederzeit geändert werden:
Gui, Tab ; Künftige Controls gehören zu keinem Tab-Control.
Gui, Tab, 3 ; Künftige Controls gehören dem dritten Tab des zuletzt erstellten Tab-Controls.
Gui, Tab, 3, 2 ; Künftige Controls gehören dem dritten Tab des zweiten Tab-Controls.
Gui, Tab, Name ; Künftige Controls gehören dem Tab, dessen Name mit Name beginnt
Gui, Tab, Name,, Exact ; Wie oben, erfordert aber die exakte Übereinstimmung einschließlich der Groß/Kleinschreibung.
Es ist ebenfalls möglich, mit den Anweisungen der o.a. Beispiele Controls einem Tab oder Tab-Control zuzuordnen, das noch nicht existiert (außer mit der Name-Methode). In diesem Fall werden die unten beschriebenen Optionen für relative Positionierung aber nicht unterstützt.
Positionierung: Wenn einem Tab eines Tab-Controls das
erste Subcontrol zugewiesen wird, erhält es unter folgenden Bedingungen
eine voreingestellte Position:
1) Die X- und Y-Koordinaten
werden
beide weggelassen: In diesem Fall wird das erste Subcontrol
in
der oberen linken Ecke der Innenfläche des Tabs mit dem aktuellen Randabstand und die
weiteren Subcontrols
entsprechend unter diesem positioniert.
2) Die X+n und/oder Y+n Positionsoptionen
sind angegeben: In diesem Fall wird das Subcontrol relativ zur linken
oberen Ecke der Innenfläche des Tabs positioniert. "x+10 y+10" würde z.B. das
Control 10 Pixel
rechts und 10 Pixel unter der linken oberen Ecke positionieren.
Subcontrols müssen nicht auf der Fläche des Tab-Controls liegen, sie werden trotzdem angezeigt oder verborgen, wann immer ihr Tab ausgewählt bzw. abgewählt wird. Dieses Verhalten eignet sich besonders für den unten beschriebenen "Buttons"-Stil.
Mit der Gui Submit Anweisung wird der Name des aktuell ausgewählten Tabs in der zugewiesenen Ausgabevariablen gespeichert. Wenn aber in Options die Option AltSubmit angegeben wurde, wird stattdessen die Positionsnummer gespeichert (1 für den erstenTab, 2 für den zweiten, etc.).
In Options kann auch ein G-Label wie gMeineSubroutine angegeben werden. MeineSubroutine: wird dann immer automatisch aufgerufen, wenn der Benutzer den Tab wechselt. Wenn das Tab-Control sowohl ein G-Label als auch eine Ausgabevariable hat, wird in der Variablen, wann immer der Benutzer zu einem neuen Tab wechselt, der Name des davor ausgewählten Tabs gespeichert (bzw. seine Nummer im Fall von AltSubmit).
Tastatursteuerung: Mit "Strg-Bild-Aufwärts/Abwärts" (Control-PageDown/PageUp) kann der Benutzer innerhalb eines Tab-Controls von Tab zu Tab wechseln. Wenn ein Control den Eingabefokus hat, das nicht zu einem Tab-Control gehört, wird das erste Tab-Control des Fensters verwendet. Control-Tab und Control-Shift-Tab können auch verwendet werden, wenn das Control mit dem Eingabefokus kein mehrzeiliges Editfeld ist.
Jedes Fenster kann maximal 255 Tab-Controls enthalten, jedes Tab-Control maximal 256 Tabs (Seiten). Ein Tab-Control kann keine anderen Tab-Controls enthalten.
Tab Optionen:
Choose: Siehe oben.
-Background (Minus Background): Ersetzt die selbstdefinierte Hintergrundfarbe des Fensters durch die voreingestellte Hintergrundfarbe des Systems für Tab-Controls. Mit +Theme -Background wird das Tab-Control mit dem aktuellen Windowsthema dargestellt. Die meisten Controls innerhalb eines Tab-Controls werden dann aber merkwürdig aussehen, weil sich ihr Hintergrund von dem des Tab-Controls unterscheidet. Für einige Controls (wie z.B. Text) kann das durch Angabe der Option BackgroundTrans in ihren Optionen umgangen werden.
Buttons: Erstellt eine Reihe von Buttons anstelle der Tabs (in diesem Fall hat das Control als Voreinstellung keinen Rahmen, weil die Anzeigefläche nicht zwingend andere Controls enthalten muss).
Left/Right/Bottom: Die Angabe einer dieser Optionen zeigt die Tabs am linken, rechten oder unteren Rand anstatt am oberen an. Siehe TCS_VERTICAL wegen der Einschränkungen für Left und Right.
-Wrap: Verhindert, dass die Tabs mehrzeilig angezeigt werden. Wenn die Tabs nicht in eine Zeile passen, werden automatisch Pfeilbuttons angezeigt, mit denen der Benutzer die Tabs in den Anzeigebereich holen kann.
Icons in Tabs: Mit SendMessage kann ein Icon neben dem Namen/Text jedes Tabs angezeigt werden. Wie, wird im Forum unter Icons in tabs gezeigt.
Beschreibung: Eine Leiste mit Text und/oder Icons am unteren Rand eines Fensters, in der üblicherweise der aktuelle Zustand wechselnder Bedingungen gemeldet wird.
; Beispiel:
Gui, Add, StatusBar,, Anfangstext (man sollte nicht mit einer leeren Anzeige beginnen).
SB_SetText("Insgesamt sind " . RowCount . " Zeilen ausgewählt.")
Die einfachste Art, eine StatusBar zu verwenden, ist der aufruf von SB_SetText() wann immer eine Veränderung eintritt, über die der Benutzer informiert werden sollte. Um mehr als eine Information anzeigen zu können, kann die Leiste mit SB_SetParts() in mehrere Bereiche aufgeteilt werden. Mit SB_SetIcon() können Icons in der Leiste angezeigt werden.
Alle folgenden StatusBar-Funktionen richten sich an das voreingestellte GUI-Fenster des aktuellen Threads. Dieses Fenster kann mit Gui, 2:Default gezielt bestimmt werden. Wenn das Fenster nicht existiert oder keine StatusBar hat, liefern die SB-Funktionen 0 zurück, um das Problem anzuzeigen.
SB_SetText(NewText [, PartNumber, Style]): Zeigt NewText im angegebenen Bereich der StatusBar an. Wenn PartNumber weggelassen wird, wird 1 angenommen. Anderenfalls muss eine Ganzzahl im Bereich von 1 bis 256 angegeben werden. Wenn Style weggelassen wird, wird 0 angenommen und der übliche eingesunkene Rahmen für diesen Bereich der StatusBar verwendet. Anderenfalls wird mit 1 kein Rahmen gezeichnet oder mit 2 ein Rahmen, der den Bereich der StatusBar erhöht wirken lässt. NewText kann bis zu zwei Tabulatorzeichen (`t) enthalten: Alles rechts vom ersten wird innerhalb des Bereichs zentriert, alles rechts vom zweiten wird rechtsbündig angezeigt. SB_SetText() liefert im Erfolgsfall 1, im Fehlerfall 0.
SB_SetParts([Width1, Width2, ... Width255]): Teilt die Leiste in mehrere Bereiche mit der vorgegebenen Breite (in Pixeln) auf. Wenn kein Parameter angegeben wird, wird die Leiste auf einen einzigen durchgehenden Bereich zurückgesetzt. Anderenfalls muss die Breite jedes Bereichs mit Ausnahme des letzten vorgegeben werden (der letzte Bereich übernimmt automatisch die restliche verfügbare Breite). SB_SetParts(50, 50) würde z.B. drei Bereiche erstellen: die ersten beiden mit einer Breite von 50 Pixeln und einen dritten mit der verbleibenden Breite. Hinweis: Alle Bereiche, die mit SB_SetParts() "entfernt" werden, werden leer angezeigt, wenn sie erneut angelegt werden (darüberhinaus werden ihre Icons automatisch zerstört). Im Erfolgsfall liefert SB_SetParts() einen Wert ungleich Null (die HWND der StatusBar), im Fehlerfall 0.
SB_SetIcon(Filename [, IconNumber, PartNumber]): Zeigt ein klienes Icon links vom Text des angegebenen Bereichs an (wenn PartNumber weggelassen wird, wird 1 angenommen). Filename ist der Name einer Datei, die ein Icon (.ICO), einen Cursor (.CUR) oder einen animierten Cursor (.ANI) enthält (animierte Cursor werden z.Zt. nicht animiert dargestellt). Andere Qellen für Icons können die folgenden Arten von Dateien sein: EXE, DLL, CPL, SCR und andere Arten, die Iconressourcen enthalten können. Um eine andere als die erste Icongruppe anzusprechen, gibt man ihre Nummer in IconNumber an. SB_SetIcon("Shell32.dll", 2) würde z.B. das Standardicon der zweiten Icongruppe in Shell32.dll verwenden. SB_SetIcon() liefert im Erfolgsfall die ID des Icons (HICON), im Fehlerfall 0. HICON ist eine Systemressource, die von den meisten Skripten ignoriert werden kann, weil sie automatisch mit zerstört wird, wenn das Fenster der StatusBar zerstört wird. Ebenso wird ein vorhandenes Icon zerstört, wenn es mit SB_SetIcon() durch ein neues ersetzt wird. Das kann wie folgt vermieden werden:
Gui +LastFound
SendMessage, 0x40F, Bereichsnummer - 1, mein_hIcon, msctls_statusbar321 ; 0x40F ist SB_SETICON.
G-Label Notifications: In Options kann auch ein G-Label wie gMeineSubroutine angegeben werden. MeineSubroutine: wird dann immer automatisch aufgerufen, wenn der Benutzer auf die SatusBar klickt. In der Subroutine stehen die internen Variablen A_Gui und A_GuiControl zur Verfügung. Von Interesse kann auch der Inhalt der internen Variablen A_GuiEvent sein, die eine der folgenden Zeichenfolgen enthält (wegen der Kompatibilität mit künftigen Versionen sollte ein Skript nicht davon ausgehen, dass es die einzig möglichen Werte sind):
Zeichensatz und Farbe: Zeichensatz, -größe und -schnitt können wie bei anderen Controls mit Gui Font bestimmt werden, nicht aber die Zeichfarbe. Gui Color wird ebenfalls nicht beachtet. Die Hintergrundfarbe der StatusBar kann aber mit der Angabe von Background in Options, direkt gefolgt von einem HTML Farbnamen oder eines 6-stelligen RGB-Farbwertes (das Präfix 0x ist optional), bestimmt werden. Beispiele: BackgroundSilver, BackgroundFFDD99, BackgroundDefault.
Verbergen der StatusBar: Beim Erstellen kann die StatusBar mit Gui, Add, StatusBar, Hidden vMeineStatusBar verborgen werden. Mit GuiControl, Hide, MeineStatusBar kann sie auch nachträglich verborgen werden. Mit GuiControl, Show, MyStatusBar wird sie (wieder) angezeigt. Hinweis: Das Verbergen der StatusBar verändert nicht die Höhe des Fensters. Wenn diese Änderung gebraucht wird, kann sie mit Gui, Show, AutoSize erreicht werden.
Gestaltungseigenschaften (selten genutzt): Siehe StatusBar Gestaltungstabelle.
Bekannte Einschränkungen: 1) Jedes Control, das sich mit der StatusBar überschneidet, kann manchmal über ihr gezeichnet werden. Eine Möglichkeit, das zu vermeiden, ist die dynamische Größenanpassung der Controls innerhalb der GuiSize-Routine. 2) Es gibt nur eine StatusBar pro Fenster.
Beispiel: Am Ende der TreeView Seite befindet sich ein Beispiel mit einer StatusBar mit mehreren Bereichen.
Ein MSIE-Browser-Control kann per DllCall in ein GUI-Fenster eingefügt werden. Das Control kann Webseiten oder andere browserkompatible Inhalte anzeigen. Wie, wird auf http://www.autohotkey.com/wiki/index.php?title=Internet_Explorer_Control gezeigt.