cs_stockley81
Messages postés24Date d'inscriptionlundi 21 avril 2003StatutMembreDernière intervention24 août 2005
-
15 janv. 2004 à 10:53
cs_stockley81
Messages postés24Date d'inscriptionlundi 21 avril 2003StatutMembreDernière intervention24 août 2005
-
16 janv. 2004 à 09:45
Je vais essayer d'exposer mon problème le plus clairement possible.
J'ai une application graphique à réaliser pour le boulot mais c'est un peu spécifique puisque je travaille sur un projet développé par une société (Nextest). Je m'explique:
Nextest développe un testeur de composants électroniques et a créé des fonctions propres pour être utilisés dans des programme de tests.
Sous visual C++, j'ai donc créé un projet de type Nextest (pas win32 ou mfc par exemple). J'ai créé mon interface graphique en ajoutant des ressources puis je gère l'affichage de mes courbes avec la librairie graphapp.
Le problème est que lors d'un redimensionnement de la fenêtre les graphs sont effacés car je ne les redessine pas. En effet je n'arrive pas à détecter le redimensionnement d'une fenêtre.
Pour résumer je cherche à trouver comment savoir quand ma fenêtre est redimmensionné et ensuite faire les opérations nécessaires comme le ré-affichage des graphs par exemple.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 15 janv. 2004 à 12:11
Tu n'as pas acces a la wndproc de la fenetre ?
Il faudrait intercepter WM_SIZE, pour forcer l'affichage appeler InvalidateRect ou UpdateWindow qui poussera WM_PAINT sur le haut de la file des messages.
BruNews, ciao...
cs_stockley81
Messages postés24Date d'inscriptionlundi 21 avril 2003StatutMembreDernière intervention24 août 2005 15 janv. 2004 à 13:09
Non je n'ai absolument pas accès à la wndproc de la fenêtre. C'est bien là le problème. J'avais vu ce que l'on pouvait faire avec ça mais je ne peux pas l'appliquer.
garslouche
Messages postés583Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention29 mai 20151 15 janv. 2004 à 14:45
Si c'est du MFC c'est normal que tu n'ai pas accès à la wndproc
Il faut soit utiliser le wizzard pour intercepter WM_PAINT, soit le faire à la main et là il vaut mieux jeter un coup d'oeil à MSDN et reagarde ON_WM_PAINT()
On ne force pas une curiosité, on l'éveille. .................................................Daniel Pennac
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_stockley81
Messages postés24Date d'inscriptionlundi 21 avril 2003StatutMembreDernière intervention24 août 2005 15 janv. 2004 à 17:09
J'ai le handle de ma fenêtre (HWND). J'ai vu ta fonction GetWindowLong qui permet de récupérer la wndproc. Mais est-ce possible alors que j'en ai pas définie ???? A aucun moment dans mon code j'ai défini cette procédure donc peut elle être retrouvée ????
cs_stockley81
Messages postés24Date d'inscriptionlundi 21 avril 2003StatutMembreDernière intervention24 août 2005 16 janv. 2004 à 09:45
En fait à aucun moment dans mon code je ne définie une fonction wndproc, je n'utilise pas de winmain non plus.
J'utilise des macros toutes faites (c un peu bizarre pour certains trucs d'ailleurs) et j'ai une macro qui lance mon application (TOOL_BEGIN_BLOCK(TryBegin)), une pour définir ma boite de dialogue (DIALOG{})....
Donc j'avoue que je ne sais pas si je peux récupérer a fonction wndproc...