MFC - Control de progreso

UN progress bar controles una ventana que una aplicación puede utilizar para indicar el progreso de una operación prolongada. Consiste en un rectángulo que se llena gradualmente, de izquierda a derecha, con el color de resaltado del sistema a medida que avanza una operación. Está representado porCProgressCtrl clase.

Aquí está la lista de métodos en la clase CProgressCtrl:

No Señor. Nombre y descripción
1

Create

Crea un control de barra de progreso y lo adjunta a un objeto CProgressCtrl.

2

CreateEx

Crea un control de progreso con los estilos extendidos de Windows especificados y lo adjunta a un objeto CProgressCtrl.

3

GetBarColor

Obtiene el color de la barra indicadora de progreso del control de la barra de progreso actual.

4

GetBkColor

Obtiene el color de fondo de la barra de progreso actual.

5

GetPos

Obtiene la posición actual de la barra de progreso.

6

GetRange

Obtiene los límites superior e inferior del rango del control de la barra de progreso.

7

GetState

Obtiene el estado del control de la barra de progreso actual.

8

GetStep

Recupera el incremento de paso de la barra de progreso del control de la barra de progreso actual.

9

OffsetPos

Avanza la posición actual de un control de barra de progreso en un incremento especificado y vuelve a dibujar la barra para reflejar la nueva posición.

10

SetBarColor

Establece el color de la barra indicadora de progreso en el control de la barra de progreso actual.

11

SetBkColor

Establece el color de fondo de la barra de progreso.

12

SetMarquee

Activa o desactiva el modo de marquesina para el control de la barra de progreso actual.

13

SetPos

Establece la posición actual para un control de barra de progreso y vuelve a dibujar la barra para reflejar la nueva posición.

14

SetRange

Establece los rangos mínimo y máximo para un control de barra de progreso y vuelve a dibujar la barra para reflejar los nuevos rangos.

15

SetState

Establece el estado del control de la barra de progreso actual.

dieciséis

SetStep

Especifica el incremento de paso para un control de barra de progreso.

17

StepIt

Avanza la posición actual para un control de barra de progreso por el incremento de paso (ver SetStep) y vuelve a dibujar la barra para reflejar la nueva posición.

Creemos una nueva aplicación MFC.

Step 1 - Cambie el ID del control Text y elimine el título.

Step 2 - Arrastre Control de progreso desde la Caja de herramientas.

Step 3 - Agregar variable de valor para el control de texto estático.

Step 4 - Agregar variable de control para el control de progreso.

Step 5 - Aquí está la implementación en 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 - Cuando se compile y ejecute el código anterior, verá el siguiente resultado.