MFC - Controle de Progresso

UMA progress bar controlé uma janela que um aplicativo pode usar para indicar o andamento de uma operação demorada. Ele consiste em um retângulo que é preenchido gradualmente, da esquerda para a direita, com a cor de destaque do sistema conforme a operação avança. É representado porCProgressCtrl classe.

Aqui está a lista de métodos na classe CProgressCtrl -

Sr. Não. Nome e Descrição
1

Create

Cria um controle de barra de progresso e o anexa a um objeto CProgressCtrl.

2

CreateEx

Cria um controle de progresso com os estilos estendidos do Windows especificados e o anexa a um objeto CProgressCtrl.

3

GetBarColor

Obtém a cor da barra do indicador de progresso para o controle da barra de progresso atual.

4

GetBkColor

Obtém a cor de fundo da barra de progresso atual.

5

GetPos

Obtém a posição atual da barra de progresso.

6

GetRange

Obtém os limites inferior e superior do intervalo do controle da barra de progresso.

7

GetState

Obtém o estado do controle da barra de progresso atual.

8

GetStep

Recupera o incremento da etapa para a barra de progresso do controle da barra de progresso atual.

9

OffsetPos

Avança a posição atual de um controle da barra de progresso em um incremento especificado e redesenha a barra para refletir a nova posição.

10

SetBarColor

Define a cor da barra do indicador de progresso no controle da barra de progresso atual.

11

SetBkColor

Define a cor de fundo da barra de progresso.

12

SetMarquee

Ativa ou desativa o modo letreiro para o controle da barra de progresso atual.

13

SetPos

Define a posição atual para um controle de barra de progresso e redesenha a barra para refletir a nova posição.

14

SetRange

Define os intervalos mínimo e máximo para um controle da barra de progresso e redesenha a barra para refletir os novos intervalos.

15

SetState

Define o estado do controle da barra de progresso atual.

16

SetStep

Especifica o incremento da etapa para um controle da barra de progresso.

17

StepIt

Avança a posição atual para um controle de barra de progresso pelo incremento de passo (consulte SetStep) e redesenha a barra para refletir a nova posição.

Vamos criar um novo aplicativo MFC.

Step 1 - Altere o ID do controle de texto para e remova a legenda.

Step 2 - Arraste o controle de progresso da caixa de ferramentas.

Step 3 - Adicionar variável de valor para controle de Texto estático.

Step 4 - Adicionar variável de controle para o controle de progresso.

Step 5 - Aqui está a implementação em 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 - Quando o código acima for compilado e executado, você verá a seguinte saída.