Functions > GUI > GUICtrlCreate >


GUICtrlCreateProgress

Cr�e un contr�le ProgressBar pour une GUI.

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

Param�tres

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.

Valeur de retour

Succ�s: Retourne l'ID du nouveau contr�le.
�chec: Retourne 0.

Remarques

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.

En relation

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

Exemple

#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