Crée un contrôle ProgressBar pour une GUI.
GUICtrlCreateProgress ( left, top [, width [, height [, style = -1 [, exStyle = -1]]]] )
left | Coordonnée X du coin supérieur gauche du contrôle. Si -1 est utilisé, X sera calculée en accord avec GUICoordMode. |
top | Coordonnée Y du coin supérieur gauche du contrôle. Si -1 est utilisé, Y sera calculée en accord avec GUICoordMode. |
width | [optionnel] Largeur du contrôle (par défaut, la largeur utilisée précédemment). |
height | [optionnel] Hauteur du contrôle (par défaut, la hauteur précédemment utilisé). |
style | [optionnel] Définit le style du contrôle. Consultez l'Annexe des styles des contrôles GUI. |
exStyle | [optionnel] Définit le style étendu du contrôle. Consultez Table des styles étendus. |
Succès: | Retourne l'ID du nouveau contrôle. |
Échec: | Retourne 0. |
Pour obtenir la valeur du contrôle, consultez GUICtrlRead().
Pour définir ou modifier des informations dans le contrôle, consultez les fonctions GUICtrlUpdate...().
Pour mettre à jour la position de la barre il suffit d'utiliser GUICtrlSetData().
Pour combiner des styles avec l'utilisation de style par défaut BitOR ($GUI_SS_DEFAULT_PROGRESS, newstyle, ...).
Pour utiliser les valeurs spécifiées ci-dessus, vous devez ajouter #include <ProgressConstants.au3> dans votre script.
Par défaut le redimensionnement est $GUI_DOCKAUTO, la taille et la position seront modifiées.
GUICoordMode (Option), GUICtrlSetData, GUICtrlUpdate..., GUIGetMsg
#include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <ProgressConstants.au3> Example() Func Example() GUICreate("My GUI Progressbar", 220, 100, 100, 200) Local $idProgressbar1 = GUICtrlCreateProgress(10, 10, 200, 20) GUICtrlSetColor(-1, 32250); Ne fonctionne pas avec les styles de Windows XP Local $idProgressbar2 = GUICtrlCreateProgress(10, 40, 200, 20, $PBS_SMOOTH) Local $idButton = GUICtrlCreateButton("Start", 75, 70, 70, 20) GUISetState(@SW_SHOW) Local $iWait = 20; Attend 20 ms pour le prochain pas de la progression Local $iSavPos = 0; progressbar - Sauvegarde la position Local $idMsg, $idM ; Boucle jusqu'à ce que l'utilisateur quitte. Do $idMsg = GUIGetMsg() If $idMsg = $idButton Then GUICtrlSetData($idButton, "Stop") For $i = $iSavPos To 100 If GUICtrlRead($idProgressbar1) = 50 Then MsgBox($MB_SYSTEMMODAL, "Info", "La moitié du travail est fait...", 1) $idM = GUIGetMsg() If $idM = -3 Then ExitLoop If $idM = $idButton Then GUICtrlSetData($idButton, "Next") $iSavPos = $i; sauve la position actuelle de la barre dans $iSavPos ExitLoop Else $iSavPos = 0 GUICtrlSetData($idProgressbar1, $i) GUICtrlSetData($idProgressbar2, (100 - $i)) Sleep($iWait) EndIf Next If $i > 100 Then ; $iSavPos = 0 GUICtrlSetData($idButton, "Start") EndIf EndIf Until $idMsg = $GUI_EVENT_CLOSE EndFunc ;==>Example