À propos des contrôles de barre de progression

Une barre de progression est une fenêtre qu’une application peut utiliser pour indiquer la progression d’une opération de longue durée.

Il se compose d’un rectangle qui est animé au fur et à mesure qu’une opération progresse.

L’illustration suivante montre une barre de progression qui n’utilise pas de styles visuels.

capture d’écran d’une barre de progression qui ajoute des rectangles dans une ligne pour indiquer la progression

L’illustration suivante montre une barre de progression utilisant des styles visuels. L’apparence du contrôle varie en fonction du système d’exploitation et du thème sélectionné. Pour plus d’informations, consultez Styles visuels.

capture d’écran d’une barre de progression qui allonge un rectangle vert animé pour indiquer la progression

Pour plus d’informations, consultez les titres suivants.

Utilisation des barres de progression

Vous pouvez créer une barre de progression à l’aide de la fonction CreateWindowEx , en spécifiant la classe de fenêtre PROGRESS_CLASS . Cette classe de fenêtre est inscrite lorsque la DLL de contrôles courants est chargée. Pour plus d’informations, consultez À propos des contrôles courants.

Le contrôle est également disponible dans la boîte à outils Microsoft Visual Studio, où il est appelé Contrôle de progression.

Plage et position actuelle

La plage d’une barre de progression représente la durée entière de l’opération, et la position actuelle représente la progression que l’application a effectuée vers la fin de l’opération. La procédure de fenêtre utilise la plage et la position actuelle pour déterminer le pourcentage de la barre de progression à remplir avec la couleur de surbrillance.

Si vous ne définissez pas les valeurs de plage, le système définit la valeur minimale sur 0 et la valeur maximale sur 100. Vous pouvez ajuster la plage en entiers pratiques à l’aide du message PBM_SETRANGE .

Une barre de progression fournit plusieurs messages que vous pouvez utiliser pour définir la position actuelle. Le message PBM_SETPOS définit la position sur une valeur donnée. Le message PBM_DELTAPOS avance la position en ajoutant une valeur spécifiée à la position actuelle.

Le message PBM_SETSTEP vous permet de spécifier un incrément d’étape pour une barre de progression. Par la suite, chaque fois que vous envoyez le message PBM_STEPIT à la barre de progression, la position actuelle avance d’après l’incrément spécifié. Par défaut, l’incrément d’étape est défini sur 10.

Traitement des messages de la barre de progression par défaut

Cette section décrit les messages gérés par la procédure de fenêtre pour la classe PROGRESS_CLASS .

Message Traitement effectué
WM_CREATE Alloue et initialise une structure initiale.
WM_DESTROY Libère toutes les ressources associées à la barre de progression.
WM_ERASEBKGND Dessine l’arrière-plan et les bordures de la barre de progression.
WM_GETFONT Retourne le handle à la police actuelle. La barre de progression ne dessine actuellement pas de texte. L’envoi de ce message n’a donc aucun effet sur le contrôle.
WM_PAINT Dessine la barre de progression. Si le paramètre wParam n’a pas la valeur NULL, le contrôle suppose que la valeur est un HDC et peint à l’aide de ce contexte d’appareil.
WM_SETFONT Enregistre le handle dans la nouvelle police et retourne le handle à la police précédente. La barre de progression ne dessine actuellement pas de texte. L’envoi de ce message n’a donc aucun effet sur le contrôle.

 

Style de marque

En créant le contrôle de barre de progression avec le style PBS_MARQUEE , vous pouvez l’animer d’une manière qui affiche l’activité, mais n’indique pas quelle proportion de la tâche est terminée. La partie mise en surbrillance de la barre de progression se déplace à plusieurs reprises le long de la barre. Vous pouvez démarrer et arrêter l’animation et contrôler sa vitesse en envoyant le message PBM_SETMARQUEE . Les barres de progression de marque n’ont pas de plage ou de position.

L’illustration suivante montre une barre de progression en mode chapiteau. La partie en surbrillance se déplace dans la barre.

capture d’écran d’une barre de progression qui déplace une mise en surbrillance verte sur un rectangle gris pour indiquer la progression