MFC - Contrôle de progression

UNE progress bar controlest une fenêtre qu'une application peut utiliser pour indiquer la progression d'une longue opération. Il se compose d'un rectangle qui se remplit progressivement, de gauche à droite, avec la couleur de surbrillance du système au fur et à mesure qu'une opération progresse. Il est représenté parCProgressCtrl classe.

Voici la liste des méthodes de la classe CProgressCtrl -

Sr.No. Nom et description
1

Create

Crée un contrôle de barre de progression et l'attache à un objet CProgressCtrl.

2

CreateEx

Crée un contrôle de progression avec les styles étendus Windows spécifiés et l'attache à un objet CProgressCtrl.

3

GetBarColor

Obtient la couleur de la barre d'indicateur de progression pour le contrôle de barre de progression actuel.

4

GetBkColor

Obtient la couleur d'arrière-plan de la barre de progression actuelle.

5

GetPos

Obtient la position actuelle de la barre de progression.

6

GetRange

Obtient les limites inférieure et supérieure de la plage du contrôle de la barre de progression.

sept

GetState

Obtient l'état du contrôle de barre de progression actuel.

8

GetStep

Récupère l'incrément de pas pour la barre de progression du contrôle de barre de progression actuel.

9

OffsetPos

Avance la position actuelle d'un contrôle de barre de progression d'un incrément spécifié et redessine la barre pour refléter la nouvelle position.

dix

SetBarColor

Définit la couleur de la barre d'indicateur de progression dans le contrôle de barre de progression actuel.

11

SetBkColor

Définit la couleur d'arrière-plan de la barre de progression.

12

SetMarquee

Active ou désactive le mode de sélection pour le contrôle actuel de la barre de progression.

13

SetPos

Définit la position actuelle d'un contrôle de barre de progression et redessine la barre pour refléter la nouvelle position.

14

SetRange

Définit les plages minimale et maximale pour un contrôle de barre de progression et redessine la barre pour refléter les nouvelles plages.

15

SetState

Définit l'état du contrôle actuel de la barre de progression.

16

SetStep

Spécifie l'incrément de pas pour un contrôle de barre de progression.

17

StepIt

Avance la position actuelle d'un contrôle de barre de progression par incrément de pas (voir SetStep) et redessine la barre pour refléter la nouvelle position.

Créons une nouvelle application MFC.

Step 1 - Remplacez l'ID du contrôle Texte et supprimez la légende.

Step 2 - Faites glisser le contrôle de progression de la boîte à outils.

Step 3 - Ajouter une variable de valeur pour le contrôle de texte statique.

Step 4 - Ajouter une variable de contrôle pour le contrôle de progression.

Step 5 - Voici l'implémentation dans OnInitDialog ()

BOOL CMFCProgressControlDlg::OnInitDialog() {
   CDialogEx::OnInitDialog();

   // Add "About..." menu item to system menu.
 
   // IDM_ABOUTBOX must be in the system command range.
   ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
   ASSERT(IDM_ABOUTBOX < 0xF000);

   CMenu* pSysMenu = GetSystemMenu(FALSE);
   if (pSysMenu != NULL) {
      BOOL bNameValid;
      CString strAboutMenu;
      bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
      ASSERT(bNameValid);
      if (!strAboutMenu.IsEmpty()) {
         pSysMenu -> AppendMenu(MF_SEPARATOR);
         pSysMenu -> AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
      }
   }
	
   // Set the icon for this dialog. The framework does this automatically
   // when the application's main window is not a dialog
   SetIcon(m_hIcon, TRUE);      // Set big icon
   SetIcon(m_hIcon, FALSE);     // Set small icon
   
   // TODO: Add extra initialization here
   m_progCtrl.SetRange(0,100);

   for (int i = 0; i <= 100; i++) {
      m_progCtrl.SetPos(i);
   }

   return TRUE; // return TRUE unless you set the focus to a control
}

Step 6 - Lorsque le code ci-dessus est compilé et exécuté, vous verrez la sortie suivante.