tutorial c++ c mfc

c++ - tutorial - Cómo utilizar el temporizador en la aplicación basada en MFC Dialog?



c++ mfc tutorial (3)

Si desea obtener la idea básica del uso de temporizadores, tenga a bien echarle un vistazo a este enlace y seguir paso a paso el procedimiento para trabajar con temporizadores. Después de esto, podrá usar temporizadores fácilmente en su aplicación cuando lo desee.

Enlace: http://www.functionx.com/visualc/controls/timer.htm

Espero que esto ayude.

Aclamaciones.

Estoy desarrollando una aplicación basada en Dialog de MFC en Visual Studio 2008. ¿Deseo usar el temporizador que se inicia al inicio de la aplicación y continúa ejecutándose y llama a una función que realiza mi tarea? ¿Cómo puedo hacer esto?

Gracias


Simplemente use el método SetTimer y pase dos argumentos: ID del temporizador (cualquier número) y el tiempo de espera en milisegundos. Luego escriba la implementación OnTimer y una entrada ON_WM_TIMER dentro de BEGIN_MESSAGE_MAP...END_MESSAGE_MAP .

CWnd :: SetTimer toma 3 parámetros, pero solo se requieren 2. Pase el tercer argumento como NULL.

CWnd :: OnTimer


_AFXWIN_INLINE UINT_PTR CWnd::SetTimer(UINT_PTR nIDEvent, UINT nElapse, void (CALLBACK* lpfnTimer)(HWND, UINT, UINT_PTR, DWORD))

Es posible que desee hacer algo como

UINT_PTR myTimer = SetTimer (1, 1000, null); // one event every 1000 ms = 1 s

y reacciona al evento ON_TIMER en el controlador de eventos de tu ventana:

void CMyView::OnTimer (UINT_PTR nIdEvent) { if (nIdEvent == 1) // handle timer event }

Alternativamente, puede pasar un puntero a una función que maneja los eventos del temporizador. Mantener el control del temporizador le permite apagarlo usando KillTimer () en caso de que tenga que hacerlo.