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.