Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
801 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  MFC appeler un "event" pour simuler 1 timer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

MFC appeler un "event" pour simuler 1 timer

n°707790
jahjah
Posté le 24-04-2004 à 17:56:48  profilanswer
 

MFC Visual C++ .
 
l'évènement WM_TIMER est trop contraignant car pour  mon appli ca ne peu pa s'appliquer car je ne connais pa le temps ke ca met pour faire le traitement.  
 
Ce que je voudrais c'est avoir une fonction qui va appeler AppDlgProc
avec WM_PAINT ou WM_TIMER ,  
kom ca kan jorai fini mon traitement sur l'image je di d'appeler WM_PAINT ou j'ai ma procedure ki affiche limage.
 
g essayé DefWindowProc(hdlg,WM_PAINT,wParam,lParam) mais ca va jamais  
dans le "case WM_PAINT :" .
de meme avec WM_TIMER (en ayant désactivé le SetTimer(...)  ).
 
 
 
Merci pour vos réponses.
 
 
 

mood
Publicité
Posté le 24-04-2004 à 17:56:48  profilanswer
 

n°707818
jahjah
Posté le 24-04-2004 à 20:02:29  profilanswer
 

je me suis peut etre pas bien fait comprendre.
je cherche une fonction ki va déclencher l'évènement WM_PAINT.
j'ai trouvé une feinte avec le "goto" mais le probleme c ke ya toujours le pti sablier ( c du porcos koi).
 
 
 
 
 
 

n°707826
jahjah
Posté le 24-04-2004 à 20:25:39  profilanswer
 

pas bcp de réponse ...
j'ai trouvé UpdateWindow(HWND hdlg); ca envoi un WM_PAINT
 
Seul probleme , fo déplacer la fenetre pour que UpdateWindow se déclenche...  

n°707833
jahjah
Posté le 24-04-2004 à 21:00:08  profilanswer
 


PostMessage(HWND hdlg,WM_PAINT ,0,0);
mais g pas la main sur la fenetre .

n°707839
Carbon_14
Posté le 24-04-2004 à 21:03:56  profilanswer
 

Y aurait moyen de préciser le besoin ?
Il faut rafraîchir l'écran (grace à la fonction appelée par WM_PAINT) quand le traitement (long et complexe) est terminé ? Le TIMER est utile ou c'est la seule solution "visible" ?
 
EDIT : J'utilise souvent InvalidateRect(hWnd, NULL, TRUE);
Le PostMessage() avec WM_PAINT a jamais rien fait de valable chez moi...


Message édité par Carbon_14 le 24-04-2004 à 21:05:55
n°707849
jahjah
Posté le 24-04-2004 à 21:54:15  profilanswer
 

Wè en fait je fais un genre de VNC , donc fo ke j'affiche le buro de lotre . j'envoi 1 1ere fois le screen shot et ensuite je repren 1 screenshot , je compare les 2 images et j'envoi les pixels.
 
Pk je peux pas utiliser de timer pour rafraichir l'image c'est parce ke je c pas combien de temps va prendre l'envoi et la réception de tous les pixel ki ont changé.
 
Donc je recois tous les pixel ki ont changé et kan ca a fini de tout envoyer ,  il faut que j'appellle une fct ki va aller dans WM_PAINT pour afficher ma nouvelle image reconstruite avec les nouvo pixel.
 
je sais tout faire sauf le fait d'aller dans le  
"case: WM_PAINT" kan je le souhaite.
 
le problème c'est ke avec PostMessage(WM_PAINT) ca fé une genre de boucle et ya toujours le pti sablier , g pas la main koi.
 
et le truc bizarre c ke kan je lui di d'afficher un truc ou je c ke le temps est constant , la je peu utiliser WM_TIMER
et ba la g la main (ya plus le sablier), chelou cette histoire.
 
 
Fodrait ke j'essaye de démarrer une thread pour faire ca mais ca devient cho la .  
 
 
 
 

n°707919
christophe​_d13
L'efficacité à tout prix.
Posté le 25-04-2004 à 09:49:32  profilanswer
 

La résolution de ton problème par les threads semble une bonne solution.
 
Up: Les threads, c'est pas si compliqué que cela en a l'air. Il faut juste bien préparer le travail, les synchronisations...


Message édité par christophe_d13 le 25-04-2004 à 09:50:37

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  MFC appeler un "event" pour simuler 1 timer

 

Sujets relatifs
Timer[MFC] Initialisation des radio dans une boite de dialogue
attacher un timer à une fonctionMFC Changer le bouton par défaut
Equivalent de CMemFile (simuler un fichier avec de la mémoire)[MFC] Afficher une seconde vue sur un document besoin d'aide
[MFC]Les .h sont limités en taille?[C#] Importer et appeler une classe C++
Probleme de compatibilité MFC directX 9C'est lourd un Timer ?
Plus de sujets relatifs à : MFC appeler un "event" pour simuler 1 timer


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR