dambeaufort
Messages postés60Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention17 septembre 2004
-
5 mai 2004 à 10:29
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
5 mai 2004 à 12:04
Bonjour,
je viens de creer un timer sous MFC
ce timer devrais m'appeler une fonction d'une classe, le probleme c que ca me dit que m'a fonction n'est pas static; si je la mets static, je perd les info Cedit... de ma fenetre de dialog.
Je m'explique:
j'ai une fenetre de dialog, que je dois mettre a jour regulierement (avancement de progressbar, mise a jour edit box...)
anciennement je n'utilisais pas de timer, mais un while. au bout d'un moment, ma fenetre n'est n'est plus rafraichie, elle devient grise et je ne vois plus rien.
c pourquoi je pensais plutot utilises un timer.
Le probleme est alors que quand j'appelle ma fonction qui gere l'affichage, elle n'est prise en compte que si elle est static, je pert alors les variables membres de la classe:
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 5 mai 2004 à 12:04
Bon alors dans ce cas, il faut rajouter la gestion du message WM_TIMER dans le classWizard, ce qui va te rajouter la fonction OnTimer dans ton dialogue.
dans le OnInitDialog, tu crée le timer :
nId : Id du timer gére (au cas ou il yen a plusieurs, our les différencier dans OnTimer).
nTimeOut : cadence
SetTimer(nId, nTimeOut, NULL);
et dans OnTimer tu as accès à TOUS les membres de ton dialog.