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.