begin process at 2008 09 05 11:47:02
1 237 182 membres
140 nouveaux aujourd'hui
14 312 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Graphique ds boite dialogue [ Archives / Au secours ] (titio)

Graphique ds boite dialogue le 02/05/2005 12:06:24

titio
 Bonjour,
Je souhaite afficher un dessin dans une boite de dialogue. A priori, c'est simple, il suffit de lancer le dessin dans le message WM_PAINT, mais lorsque je fais cela, a l'ouverture, il n'affiche plus les autres controles, et de plus, le programme est comme en boucle infinie dans le message (il semble recevoir sans arret des WM_PAINT). Lorsque je lance dans une fenetre normale, le meme code est stable (pas de generation continuelle de WM_PAINT). T a t il des differences de traitement entre boite de dialogue et fenetres normales ? Avez vous une solution afin de ne pas bloquer le systeme avec les WM_PAINT ?

Merci

Re : Graphique ds boite dialogue le 02/05/2005 13:47:00

vecchio56
(Admin CS)
C'est pas vraiment une chose à faire  d'intercepter le WM_PAINT d'un Dialog. Je te conseille de sous-classer un STATIC (par exemple) du Dialog, et de dessiner dans le WM_PAINT de ce static. Si tu recois sans arrêt des WM_PAINT, c'est sans doute que tu ne valides pas la zones que tu viens de dessiner, les WM_PAINT arivent tant qu'une region de la fenêtre est invalidée. Pour être sur que ce soit fait il faut utiliser BeginPaint et EndPaint ou faire un ValidateRect à la fin de ton dessin

Re : Graphique ds boite dialogue le 02/05/2005 14:06:45

titio
En effet, merci, en validant, ca fonctionne.
Pourquoi n'est ce pas une chose a faire d'intercepter le WM_PAINT d'un dialogue ? Qu'entends tu par sous classer un STATIC ? (Je precise que je suis plutot debutant en prog windows, et que j'utilise le langage C avec l'API Win32, pas les MFC..) ?

Re : Graphique ds boite dialogue le 02/05/2005 14:31:34

vecchio56
(Admin CS)
Sous classer ca veut dire que tu lui donnes un autre WndProc, avec SetWindowLong. C'est très pratique, et ca te permet d'intercepter tous les messages que recoit un static en l'occurence.
Pour ma part je préfère ca à aller directement dans la WM_PAINT d'un dialog, mais si ca marche comme ca tu peux le faire bien entendu.



Classé sous : graphique, boite, wm, dialogue, paint

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS