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.