DispatchMessage(&msg); // dispatches message to window }
et dans la méthode de processus messages :
Code :
case WM_TIMER:
switch (wParam) {
case IDT_TIMER1:
// Process the 10-second timer.
return 0;
case IDT_TIMER2:
// Process the 5-minute timer.
return 0;
}
[edit]--Message édité par kadreg--[/edit]
haahhahahaha
hum hum.
tout le monde utilise pas MFC comme toi.
fait une thread séparé c encore mieux
VisualC++
Tout les objet derives entre autre d'un CWnd on acces a une fonction CWnd:: OnTimer(UINT nIDTimer)
Il te suffit de rajouter cette fonction (via classwizard) a ton objet et apres tu fais quand tu veux demarrer :
SetTimer(ID_TIMER, 10 * 1000);
ID_TIMER etant un identifiant qui te permettra de detecter quel timer est arrive a expiration, et 10 etant ton delai (a indique en milliseconde d'ou le 1000).
Apres dans la fonction OnTimer tu as un truc du genre
CWnd:: OnTimer(UINT nIDEvent) {
if (nIDEvent == ID_TIMER) {
// Ton code pour le traitement
}
else {
CWnd:: OnTimer(nIDEvent);
}
}
Edit : arg les smiley
[edit]--Message édité par VisualC++--[/edit]
warp
Si je demande plus de détails.......j'exagère ?
En fait je n'ai plus écris d'applique Visual depuis bientôt 2 ans,
et je ne me souviens plus comment ça marche........
J'ai en effet vu dans mes notes que c'est de ça qu'il faut partir,
mais j'ai pas le courage d'aller tout relire.
kadreg
Regarde du coté du message WM_TIMER et de la fonction setTimer
warp
J'aimerais répéter une action régulièrement une action
(toutes les 10 secondes)
mais avec un sleep, je bloque toute l'application...ce qui est normal.
Je ne sais plus quelle commande utiliser et où la placer.