Redimentionement automatique

Signaler
Messages postés
2
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
5 janvier 2006
-
Messages postés
2
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
5 janvier 2006
-
Slt :
----

Voila imaginons deux CEdit imbriqué l'un dans l'autre, donc CEdit_1 est le parent de CEdit_2.

CEdit_1 recoit du parent (Main) le WM_SIZE, la fonction d'interception OnSize() redimentionne le CEdit_1 avec un simple GetClientRect() puis un MoveWindow().

CEdit_1->PostMessage(WM_SIZE);

Par contre le CEdit_2 n'est pas redimentionné (sauf si biensur le parent CEdit_1 envoit WM_SIZE a destinnation du CEdit_2). Seulement voila je ne veut pas le faire.

Alors il y a t-il un moyen pour que l'enfant detecte tout seul le redimentionnement du parent ou une fonction a appeler dans le parent pour que tout ces enfants en soit notifiés ?

Merci

2 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Lorsque tu reçoit dans CEdit_1 le WM_SIZE du Main essayes de mettre un UpdateWindow( Handle de CEdit_2)

le
CEdit_2
recevra un WM_PAINT et dans ce cas fait les tests de dimensions...

...ce n'est qu'une piste de solution...
Messages postés
2
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
5 janvier 2006

En fait le parent ne connais pas ses enfants, c'est pour cette raison que je ne peut generer de message (parent -> enfant).

Apres une recherche dans la MSDN j'ais enfin trouvé une fonction que le parent appel pour notifier TOUT ses enfants.

SendMessageToDescendants(msg, wParam, lParam,TRUE, FALSE);

voila avec cela tout fonctionne.

Bye