Je développe une application de dialogue MFC dans Visual Studio 2008. Je souhaite utiliser la minuterie qui commence au début de l'application et continuer à exécuter et appelle une fonction qui effectue ma tâche? Comment puis-je faire ceci?
Merci
Il suffit d'utiliser SetTimer
méthode et passez deux arguments: ID de la minuterie (n'importe quel nombre) et le délai d'attente en millisecondes. Ensuite, écrivez OnTimer
implémentation et une entrée ON_WM_TIMER
à l'intérieur BEGIN_MESSAGE_MAP...END_MESSAGE_MAP
.
CWND :: Settimer prend 3 paramètres, mais seulement 2 sont nécessaires. Passer la troisième argument comme null.
_AFXWIN_INLINE UINT_PTR CWnd::SetTimer(UINT_PTR nIDEvent, UINT nElapse,
void (CALLBACK* lpfnTimer)(HWND, UINT, UINT_PTR, DWORD))
Vous voudrez peut-être faire quelque chose comme
UINT_PTR myTimer = SetTimer (1, 1000, null); // one event every 1000 ms = 1 s
et réagir à l'événement On_timer dans le gestionnaire d'événements de votre fenêtre:
void CMyView::OnTimer (UINT_PTR nIdEvent)
{
if (nIdEvent == 1)
// handle timer event
}
Sinon, vous pouvez transmettre un pointeur sur une fonction qui manipule les événements de la minuterie. Garder la poignée sur la minuterie vous permet de l'éteindre en utilisant KillTimer () au cas où vous auriez à.
Si vous souhaitez obtenir l'idée de base d'utiliser des minuteries, veuillez consulter ce lien et passer à travers la procédure étape par étape sur le travail avec les minuteries. Après cela, vous devriez pouvoir utiliser facilement les minuteries dans votre application quand vous le souhaitez.
Lien: http://www.funconx.com/visualc/controls/timer.htm
J'espère que cela t'aides.
À votre santé.