Besoin d'aide Timer

wadwin Messages postés 4 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 6 mai 2009 - 14 nov. 2008 à 23:29
wadwin Messages postés 4 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 6 mai 2009 - 17 nov. 2008 à 22:06
Salut a tous


j'ai un souci avec les timers en effet je cherche à faire un petit programme pour apprendre les timers


mais je ne sais pas comment faire pour choisir quelle fonction doit être appelée lors de l'appel du timer


je me sers de la fonction: SetTimer(..,..,..)


j'ai créé une fonction onTimer qui est censé s'executé lors de l'appel de ma fonction appelant SetTimer()


mais je ne sais pas vraiment comment Veuillez vérifier : ça (“cela”) ou sa (forme possessive).">ça marche:s


merci d'avance!!


Quand on veut on fait ce que l'on peut !!

2 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
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.

A toi de voir la méthode que tu préfères.
0
wadwin Messages postés 4 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 6 mai 2009
17 nov. 2008 à 22:06
Tout simplement MERCI
Merci pour ton explication, elle m'a beaucoup aidé
Je diré même plus elle a réglé mon probleme !!

salutation

Quand on veut on fait ce que l'on peut !!
0
Rejoignez-nous