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.
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