Funktionsreferenz

GUICtrlCreateProgress

Erstellt eine Progressbar für die GUI.

GUICtrlCreateProgress ( left, top [, width [, height [, style [, exStyle]]]] )

 

Parameter

left Die linke Seite des Controls. Wird -1 verwendet, dann wird left mit Hilfe von GUICoordMode berechnet.
top Die Oberkante des Controls. Wird -1 verwendet, dann wird top mit Hilfe von GUICoordMode berechnet.
width [optional] Die Breite des Controls (voreingestellt ist die zuvor verwendete Breite).
height [optional] Die Höhe des Controls (voreingestellt ist die zuvor verwendete Höhe).
style [optional] Legt den Stil des Controls fest. Siehe Anhang GUI-Stile für Controls.
exStyle [optional] Legt den erweiterten Stil des Controls fest. Siehe Tabelle der erweiterten Stile.

 

Rückgabewert

Erfolg: Gibt die Identifikationsnummer (Control-ID) des neuen Controls zurück.
Fehler: Gibt 0 zurück.

 

Bemerkungen

Um den Wert des Controls zu erhalten siehe GUICtrlRead.
Um Informationen im Control zu setzen oder zu verändern siehe GUICtrlUpdate....

Um die Position des Balkens zu verändern ist GUICtrlSetData zu verwenden.

Um weitere Stile zusätzlich zum Standardstil zu verwenden ist BitOr($GUI_SS_DEFAULT_PROGRESS, newstyle,...) zu benutzen.

Um die oben angegebenen Werte verwenden zu können, muss #include <ProgressConstants.au3> in das Skript eingefügt werden.

Als Standard für das Verhalten des Controls (bzgl. Größe und/oder Position) bei Größenänderung der GUI gilt $GUI_DOCKAUTO. (Größe und Position werden entsprechend dem neuen Fenster angepasst.)
Mögliche Resizing-Parameter siehe GUICtrlSetResizing.

- - - - - - - - Erklärung der Controls - - - - - - - -

 

Verwandte Funktionen

GUICoordMode (Option), GUICtrlSetData, GUICtrlUpdate..., GUIGetMsg

 

Beispiel


#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>

Opt('MustDeclareVars', 1)

Example()

Func Example()
    Local $progressbar1, $progressbar2, $button, $wait, $s, $msg, $m

    GUICreate("Meine GUI Progressbar", 220, 100, 100, 200)
    $progressbar1 = GUICtrlCreateProgress(10, 10, 200, 20)
    GUICtrlSetColor(-1, 32250); Funktioniert nicht mit Windows XP Style
    $progressbar2 = GUICtrlCreateProgress(10, 40, 200, 20, $PBS_SMOOTH)
    $button = GUICtrlCreateButton("Start", 75, 70, 70, 20)
    GUISetState()

    $wait = 20; Warte 20ms bis zum nächsten Schritt
    $s = 0; Progressbar-Startposition
    Do
        $msg = GUIGetMsg()
        If $msg = $button Then
            GUICtrlSetData($button, "Stop")
            For $i = $s To 100
                If GUICtrlRead($progressbar1) = 50 Then MsgBox(0, "Info", "Die Hälfte ist fertig ...", 1)
                $m = GUIGetMsg()

                If $m = -3 Then ExitLoop

                If $m = $button Then
                    GUICtrlSetData($button, "Weiter")
                    $s = $i ; Speichere aktuelle Balkenposition in $s
                    ExitLoop
                Else
                    $s = 0
                    GUICtrlSetData($progressbar1, $i)
                    GUICtrlSetData($progressbar2, (100 - $i))
                    Sleep($wait)
                EndIf
            Next
            If $i > 100 Then
                ;       $s=0
                GUICtrlSetData($button, "Start")
            EndIf
        EndIf
    Until $msg = $GUI_EVENT_CLOSE
EndFunc   ;==>Example