Progress / SplashImage

Erstellt oder aktualisiert ein Fenster, das einen Fortschrittsbalken oder ein Bild enthält.

Veraltet: Diese Befehle sind nicht für neue Skripte empfohlen. Verwenden Sie stattdessen den Gui-Befehl.

SplashImage, Off
SplashImage , BildDatei, Optionen, NebenText, HauptText, FensterTitel, SchriftName

Progress, Off
Progress, ProgressParam1 , NebenText, HauptText, FensterTitel, SchriftName

Parameter

BildDatei

Wenn dieser Parameter das Wort OFF ist, wird das Fenster zerstört. Wenn dieser Parameter das Wort SHOW ist, wird das Fenster wieder sichtbar gemacht, falls es zuvor versteckt wurde.

Andernfalls geben Sie den Dateinamen eines BMP-, GIF- oder JPG-Bildes an, das angezeigt werden soll (um andere Dateiformate wie PNG, TIF und ICO anzuzeigen, ist es ratsam, den Gui-Befehl zu verwenden, um ein Fenster mit einem Picture-Steuerelement zu erstellen).

[AHK_L 59+]: Jedes von Gui unterstützte Bildformat kann mit SplashImage verwendet werden.

Wenn kein absoluter Pfad angegeben ist, wird BildDatei im A_WorkingDir-Verzeichnis vermutet. Wenn BildDatei und Optionen leer sind und das Fenster bereits existiert, bleibt dessen Bild unverändert, aber dessen Texte werden mit den neuen Zeichenketten in NebenText, HauptText und FensterTitel (falls vorhanden) aktualisiert.

Wenn beim Erstellen des Fensters BildDatei leer ist oder das Bild nicht geladen werden kann, wird das Fenster ohne Bild angezeigt.

[v1.1.23+]: Anstelle eines Dateinamens kann auch ein Bitmap- oder Symbol-Handle verwendet werden. Zum Beispiel HBITMAP:%handle%.

ProgressParam1

Wenn das Progress-Fenster bereits existiert: Wenn dieser Parameter das Wort OFF ist, wird das Fenster zerstört. Wenn dieser Parameter das Wort SHOW ist, wird das Fenster wieder sichtbar gemacht, falls es zuvor versteckt wurde.

Andernfalls, wenn dieser Parameter eine reine Zahl ist, wird die Position des Balkens auf diesen Wert geändert. Wenn dieser Parameter leer ist, bleibt dessen Balkenposition unverändert, aber dessen Texte werden mit den neuen Zeichenketten in NebenText, HauptText und FensterTitel (falls vorhanden) aktualisiert. Wenn in beiden Modi das Fenster noch nicht existiert, wird es mit den Standardoptionen erstellt.

Wenn das Progress-Fenster nicht existiert, wird ein neues Progress-Fenster erstellt (und dabei das alte ersetzt), und dieser Parameter ist eine Zeichenkette mit beliebig vielen Optionen aus der unteren Liste.

Optionen

Eine Zeichenkette mit beliebig vielen Optionen aus der unteren Liste.

NebenText

Ein Text, der unterhalb des Bildes oder Balkens angezeigt werden soll. Standardmäßig werden lange Zeilen automatisch umbrochen. Mit einem LF-Zeichen (`n) kann ein Zeilenumbruch erzwungen werden. Um den Text eines existierenden Fensters leer zu machen, geben Sie %A_Space% an. Für die automatische Berechnung der Fensterhöhe können Leerzeilen reserviert werden, ähnlich wie bei HauptText unten.

HauptText

Ein Text, der oberhalb des Bildes oder Balkens angezeigt werden soll (seine Schrift wird halbfett dargestellt). Standardmäßig werden lange Zeilen automatisch umbrochen. Mit einem LF-Zeichen (`n) kann ein Zeilenumbruch erzwungen werden.

Wenn leer oder weggelassen, wird im Fenster kein Platz für HauptText reserviert. Um Platz für eine einzelne Zeile zu reservieren, die später hinzugefügt werden soll, oder um den Text eines existierenden Fensters leer zu machen, geben Sie %A_Space% an. Um Platz für mehr als eine Zeile zu reservieren, fügen Sie ein oder mehrere LF-Zeichen (`n) an.

Wenn die Höhe des Steuerelementbereichs von MainText einmal festgelegt wurde, kann sie nicht mehr geändert werden, ohne das Fenster neu zu erstellen.

FensterTitel

Der Titel des Fensters. Wenn beim Erstellen des Fensters dieser Parameter weggelassen wird, wird standardmäßig der Name des Skripts (ohne Pfad) verwendet. Wenn die B-Option (randlos) angegeben wurde, wird das Fenster ohne Titelleiste angezeigt, allerdings können Befehle wie WinMove weiterhin den Fenstertitel verwenden, um mit dem Fenster zu arbeiten.

SchriftName

Name der Schrift, die für HauptText und NebenText verwendet werden soll. Die Schriftentabelle listet einige Schriften auf, die mit den verschiedenen Windows-Versionen hinzugekommen sind. Wenn dieser Parameter leer ist, weggelassen wird oder einen ungültigen Schriftnamen enthält, wird standardmäßig die Standard-GUI-Schrift des Systems verwendet.

In den folgenden Abschnitten wird erklärt, wie die Größe, Breite und Farbe der Schrift geändert werden kann.

Größe, Position und Verhalten des Fensters

A: Entfernt die Immer-Im-Vordergrund-Eigenschaft des Fensters.

B: Randlos. Zeigt das Fenster ohne Rahmen und Titelleiste an. Um das Fenster mit Rahmen, aber ohne Titelleiste anzuzeigen, geben Sie B1 für einen dünnen Rahmen oder B2 für einen Rahmen im Dialogfenster-Stil an.

M: Das Fenster kann vom Benutzer verschoben werden (sofern es einen Rahmen hat). Um zusätzlich das Ändern der Fenstergröße zu ermöglichen (durch Ziehen des Rahmens), geben Sie M1 an. Um die Titelleiste zusätzlich mit einem Systemmenü und den Schaltflächen Minimieren/Maximieren/Schließen zu versehen, geben Sie M2 an.

Pn: Nur für Progress-Fenster: Geben Sie für n die Startposition des Fortschrittsbalkens an (standardmäßig wird 0 oder der niedrigste zulässige Bereichswert verwendet). Um die Position des Balkens später zu ändern, gehen Sie wie folgt vor: Progress, 50.

Rx-y: Nur für Progress-Fenster: Geben Sie für x-y den numerischen Bereich des Fortschrittsbalkens an (fehlt die R-Option, wird standardmäßig 0-100 verwendet). Zum Beispiel erlaubt R0-1000 Zahlen zwischen 0 und 1000; R-50-50 Zahlen zwischen -50 und 50; und R-10--5 Zahlen zwischen -10 und -5.

T: Das Fenster erhält eine eigene Taskleistenschaltfläche und ist nicht untergeordnet. Normalerweise hat das Fenster keine eigene Taskleistenschaltfläche, weil es standardmäßig dem Hauptfenster des Skripts untergeordnet ist. Diese Option verhindert auch, dass ein Splash- oder Progress-Fenster einem GUI-Fenster via Gui +OwnDialogs untergeordnet werden kann.

Hn: Geben Sie für n die Höhe des Clientbereichs an (das ist der Fensterbereich ohne Titelleiste und Rahmen). Fehlt diese Option, wird die Höhe automatisch anhand der Höhe des Bildes/Balkens und des Textes im Fenster berechnet.

Wn: Geben Sie für n die Breite des Clientbereichs an. Fehlt diese Option, wird die Breite automatisch anhand der Breite des SplashImage-Bildes (falls vorhanden) berechnet. Andernfalls wird standardmäßig 300 verwendet.

Xn: Geben Sie für n die X-Koordinate der oberen linken Ecke des Fensters an. Fehlt diese Option, wird das Fenster horizontal auf dem Bildschirm zentriert.

Yn: Geben Sie für n die Y-Koordinate der oberen linken Ecke des Fensters an. Fehlt diese Option, wird das Fenster vertikal auf dem Bildschirm zentriert.

Hide: Das Fenster wird zunächst versteckt erstellt. Mit Progress Show oder SplashImage Show kann das Fenster später wieder sichtbar gemacht werden.

Layout der Elemente im Fenster

Cxy: Zentriert. Wenn diese Option nicht angegeben ist, werden sowohl NebenText als auch HauptText im Fenster zentriert. Geben Sie 0 für x an, um NebenText linksbündig zu machen. Geben Sie 1 an, um ihn zentriert zu lassen. Dasselbe gilt für y, aber in Bezug auf HauptText (y kann weggelassen werden). Zum Beispiel: c10.

ZHn: Höhe des Elements. Für Progress-Fenster: Geben Sie für n die Dicke des Fortschrittsbalkens an (standardmäßig 20). Für SplashImage-Fenster: Geben Sie für n die Höhe an, auf die das Bild skaliert werden soll. Geben Sie -1 an, um die Höhe proportional zur via ZW angegebenen Breite zu machen (d.h. "Seitenverhältnis beibehalten"). Fehlt diese Option, wird die tatsächliche Höhe des Bildes verwendet. In beiden Fällen kann 0 angegeben werden, um das Element vollständig zu entfernen und das Fenster nur für die Anzeige von Text in benutzerdefinierter Schrift, Größe und Farbe zu verwenden.

ZWn: Breite des Elements (nur für SplashImage-Fenster). Geben Sie für n die Breite an, auf die das Bild skaliert werden soll. Geben Sie -1 an, um die Breite proportional zur via ZH angegebenen Höhe zu machen (d.h. "Seitenverhältnis beibehalten"). Fehlt diese Option, wird die tatsächliche Breite des Bildes verwendet.

ZXn: Geben Sie für n an, wie viel Platz am linken/rechten Rand des Fensters freigelassen werden soll. Standardmäßig wird 10 verwendet, es sei denn, es handelt sich um ein SplashImage-Fenster ohne Text, dann wird standardmäßig 0 verwendet.

ZYn: Geben Sie für n an, wie viel vertikaler Platz am oberen/unteren Rand des Fensters und zwischen den einzelnen Steuerelementen freigelassen werden soll. Standardmäßig wird 5 verwendet, es sei denn, es handelt sich um ein SplashImage-Fenster ohne Text, dann wird standardmäßig 0 verwendet.

Hinweis: Um einen vertikalen Fortschrittsbalken zu erstellen oder um mehr Flexibilität bei der Gestaltung des Fensters zu haben, verwenden Sie den Gui-Befehl. Zum Beispiel:

Gui, Add, Progress, Vertical vMeinProgress
Gui, Show
return
; ... später ...
GuiControl,, MeinProgress, +10  ; Den Balken 10 Prozent nach oben verschieben. Das "+" weglassen, um eine absolute Position zu setzen.

Größe und Dicke der Schrift

FMn: Geben Sie für n die Schriftgröße für HauptText an. Standardmäßig 0, was bei den meisten Systemen dazu führt, dass 10 verwendet wird. Die über "Systemsteuerung > Anzeige" eingestellte Schriftgröße hat keinen Einfluss auf diesen Standardwert.

FSn: Geben Sie für n die Schriftgröße für NebenText an. Standardmäßig 0, was bei den meisten Systemen dazu führt, dass 8 verwendet wird.

WMn: Geben Sie für n die Schriftdicke für HauptText an. Die Dicke muss zwischen 1 und 1000 liegen. Fehlt diese Option, wird standardmäßig 600 (halbfett) verwendet.

WSn: Geben Sie für n die Schriftdicke für NebenText an. Die Dicke muss zwischen 1 und 1000 liegen (700 gilt traditionell als "fett"). Fehlt diese Option, wird 400 (normal) verwendet.

Elementfarben

Die Farbe kann ein Name aus der unteren Liste oder ein 6-stelliger hexadezimaler RGB-Wert sein. Zum Beispiel bewirkt cw1A00FF, dass die Hintergrundfarbe des Fensters auf Rotanteil 1A, Grünanteil 00 und Blauanteil FF gesetzt wird.

Fügen Sie nach jeder Farboption ein Leerzeichen hinzu, wenn dahinter weitere Optionen stehen. Zum Beispiel: cbRed ct900000 cwBlue.

CBn: Farbe des Fortschrittsbalkens. Geben Sie für n einen der 16 primären HTML-Farbnamen oder einen 6-stelligen RGB-Farbwert an. Fehlt diese Option, wird die Standardbalkenfarbe des Systems verwendet. Geben Sie das Wort Default an, um die Standardbalkenfarbe des Systems wiederherzustellen.

CTn: Farbe des Textes. Geben Sie für n einen der 16 primären HTML-Farbnamen oder einen 6-stelligen RGB-Farbwert an. Fehlt diese Option, wird die Standardtextfarbe des Systems verwendet (normalerweise schwarz). Geben Sie das Wort Default an, um die Standardtextfarbe des Systems wiederherzustellen.

CWn: Farbe des Fensters (Hintergrund). Geben Sie für n einen der 16 primären HTML-Farbnamen oder einen 6-stelligen RGB-Farbwert an. Fehlt diese Option, wird die Standardschaltflächenfarbe des Systems verwendet (geben Sie das Wort Default an, um diese Farbe später wiederherzustellen). Um den Hintergrund transparent zu machen, verwenden Sie WinSet TransColor.

Farbname RGB-Wert
Black (schwarz) 000000
Silver (silbergrau) C0C0C0
Gray (grau) 808080
White (weiß) FFFFFF
Maroon (dunkelrot) 800000
Red (rot) FF0000
Purple (lila) 800080
Fuchsia (pink) FF00FF
Green (grün) 008000
Lime (gelbgrün) 00FF00
Olive (olivgrün) 808000
Yellow (gelb) FFFF00
Navy (dunkelblau) 000080
Blue (blau) 0000FF
Teal (blaugrün) 008080
Aqua (hellblau) 00FFFF

Bemerkungen

Wenn der erste Parameter das Wort OFF ist, wird das Fenster zerstört.

Jedes Skript kann bis zu 10 Progress-Fenster und 10 SplashImage-Fenster anzeigen. Jedem Fenster wird bei seiner Erstellung eine Nummer zugewiesen. Wenn nicht anders angegeben, wird es standardmäßig 1 sein (das erste Fenster). Andernfalls geben Sie vor dem ersten Parameter die Nummer des Fensters gefolgt von einem Doppelpunkt an. Zum Beispiel würde der Progress-Befehl mit 2:Off das zweite Progress-Fenster ausschalten, 2:75 seinen Balken auf 75 % setzen, 2: eines oder mehrere seiner Textfelder ändern und 2:B ein neues randloses Progress-Fenster erstellen. Ebenso würde der SplashImage-Befehl mit 2:Off das zweite SplashImage-Fenster ausschalten, 2: eines oder mehrere seiner Textfelder ändern und 2:C:\Meine Bilder\Bild1.jpg ein neues zweites SplashImage-Fenster erstellen.

Wenn ein Fenster bei seiner Erstellung die Größe des Desktops überschreitet, wird es automatisch kleiner gemacht, damit es passt.

Um nur einen Fortschrittsbalken anzuzeigen, lassen Sie NebenText und HauptText weg und fügen Sie folgende Optionen ein: b zx0 zy0. Um nur ein Bild anzuzeigen, machen Sie dasselbe, aber fügen Sie nur die B-Option ein.

Wenn in Windows XP oder höher ein nicht-klassisches Design aktiv ist, kann es vorkommen, dass der Fortschrittsbalken nicht als durchgehender Balken, sondern als mehrere Segmente dargestellt wird. Um das zu verhindern, geben Sie explizit eine Balkenfarbe an, wie z.B. cbBlue.

Beachten Sie, dass die Zahlen neben den Optionsbuchstaben in der Regel dezimal (nicht hexadezimal) sein müssen, sofern nicht anders vermerkt.

Befehle wie WinSet und WinMove können verwendet werden, um die Attribute eines existierenden Fensters zu ändern, ohne es neu erstellen zu müssen.

Ein Progress- oder SplashImage-Fenster kann via Gui +OwnDialogs einem GUI-Fenster untergeordnet werden. Dies hat zur Folge, dass das SplashImage- oder Progress-Fenster immer vor dem Hauptfenster angezeigt wird. Ein untergeordnetes Progress- oder SplashImage-Fenster wird automatisch zerstört, sobald das Hauptfenster zerstört wird.

GUI, SplashTextOn, ToolTip

Beispiele

Erstellt ein randloses Progress-Fenster und setzt die Position des Balkens auf 50 %.

Progress, b w200, Mein NebenText, Mein HauptText, Mein Titel
Progress, 50 ; Die Position des Balkens auf 50% setzen.
Sleep, 4000
Progress, Off

Erstellt ein Fenster, das nur einen 18-Punkt-großen Text in Courier New anzeigt.

Progress, m2 b fs18 zh0, Ein beliebiger Text.`nDie 2. Zeile., , , Courier New

Erstellt ein einfaches SplashImage-Fenster.

SplashImage, C:\Meine Bilder\Company Logo.gif

Erstellt ein randloses SplashImage-Fenster mit etwas Text unterhalb des Bildes.

SplashImage, C:\Meine Bilder\Company Logo.gif, b fs18, Das ist unser Firmenlogo.
Sleep, 4000
SplashImage, Off

Zeigt, wie ein SplashImage-Fenster mit einem Progress-Fenster überdeckt werden kann, um einen professionell aussehenden Installer zu erstellen. Gui-Beispiel #7 ist ähnlich, hat aber den Vorteil, dass nur ein Fenster verwendet wird und dass es mehr Flexibilität bei der Gestaltung des Fensters bietet.

if FileExist("C:\WINDOWS\system32\ntimage.gif")
    SplashImage, %A_WinDir%\system32\ntimage.gif, A,,, Installation
Loop, %A_WinDir%\system32\*.*
{
    Progress, %A_Index%, %A_LoopFileName%, Installiere ..., Installationsvorgang
    Sleep, 50
    if (A_Index = 100)
        break
}