cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 17 nov. 2008 à 12:51
Bienvenue !
Ah zut encore MFC...
En MFC, SetTimer prend trois arguments :
nIDEvent -> Un numéro que tu choisis et qui te permet de faire la différence entre tes différents timers.
nElapse -> La période du timer en milliseconde.
Le troisième paramètre, lpfnTimer est optionnel. Il permet d'indiquer une fonction qui doit être appelée à la fréquence du timer. Si lpfnTimer n'est pas précisée, un message WM_TIMER est envoyé à l'application à la fréquence du timer.
Tu as donc deux possibilités : soit passer par les messages, soit passer par une fonction.
Par les messages WM_TIMER -> Si tu choisis cette possibilité, Windows enverra régulièrement des messages WM_TIMER à ton application. Tu pourras traiter ces messages comme tu le fais classiquement pour tes autres messages. Nombreuses explications sur le web, ici par exemple.
Par la fonction -> Ce type de fonction est appelée fonction"callback". Cette une fonction dont tu fournie un pointeur, et qui est appelée par un code qui n'est pas le tiens. Pour que cela fonctionne, il faut que la fonction est une signature (Ou prototype... bref mêmes arguments, même convention d'appel, même type de retour...) que ce qu'attend SetTimer. La signature est définie dans la doc de mon premier lien : c'est la TimerProc. Donc il faut que tu définisse une TimerProc, et que tu donnes son adresse à SetTimer.