MFC - Temporizador
UN timeres un objeto no espacial que utiliza lapsos de tiempo recurrentes de una computadora o de su aplicación. Para que funcione, cada lapso de tiempo, el control envía un mensaje al sistema operativo. A diferencia de la mayoría de los otros controles, el temporizador MFC no tiene un botón para representarlo ni una clase. Para crear un temporizador, simplemente llame al método CWnd :: SetTimer (). Esta llamada de función crea un temporizador para su aplicación. Al igual que los otros controles, un temporizador usa un identificador.
Creemos una nueva aplicación basada en cuadros de diálogo MFC.
Step 1 - Elimina el título y establece su ID en IDC_STATIC_TXT
Step 2 - Agregue la variable de valor para el control de texto.
Step 3 - Vaya a la vista de clases en solución.
Step 4 - Haga clic en la clase CMFCTimeDlg.
Step 5 - En la ventana Propiedades, haga clic en el botón Mensajes.
Step 6- Haga clic en el campo WM_TIMER y haga clic en la flecha de su cuadro combinado. Seleccione
void CMFCTimerDlg::OnTimer(UINT_PTR nIDEvent) {
// TODO: Add your message handler code here and/or call default
CTime CurrentTime = CTime::GetCurrentTime();
int iHours = CurrentTime.GetHour();
int iMinutes = CurrentTime.GetMinute();
int iSeconds = CurrentTime.GetSecond();
CString strHours, strMinutes, strSeconds;
if (iHours < 10)
strHours.Format(_T("0%d"), iHours);
else
strHours.Format(_T("%d"), iHours);
if (iMinutes < 10)
strMinutes.Format(_T("0%d"), iMinutes);
else
strMinutes.Format(_T("%d"), iMinutes);
if (iSeconds < 10)
strSeconds.Format(_T("0%d"), iSeconds);
else
strSeconds.Format(_T("%d"), iSeconds);
m_strTimer.Format(_T("%s:%s:%s"), strHours, strMinutes, strSeconds);
UpdateData(FALSE);
CDialogEx::OnTimer(nIDEvent);
}
Step 7 - Cuando se compile y ejecute el código anterior, verá el siguiente resultado.