Avoir la position d'un controle dans une FormView

Signaler
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
-
Messages postés
212
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
23 juin 2011
-
Bonjour,

Je ne suis pas un spéciliste de l'IHM.


J'essaie de créer une FormView qui sera appelée plusieurs fois dans une même fenêtre(CDialogMain). Suivant la quantité de données à afficher la Formview et ses contrôles ne seront pas de la même taille.


J'ai utilisé la méthode OnSize de la FormView pour redimentionner les contrôles. Par exemple j'ai une listbox qui a tous le même point d'ancrage (top, left). Je fais donc un GetWindowPos et après un SetWindowPos pour changer uniquement la hauteur.


Mon problème c'est que j'ai l'impression que GetWindowPos renvoi la position de la listbox par rapport à la CDialogMain et quand je réaffecte avec SetWindowPos j'ai l'impression que c'est relatif à la FormView.

J'ai tenté de claquer en dur dans le code des valeurs pour voir le comportement de l'affichage, j'ai même utilisé les valeurs (top, left, right, buttom) données par le designer, mais la listbox n'est pas positionnée au même endroit qu'avec le designer et ne fait pas la même taille.

Quelqu'un peut-il me guider sur les fonctions à appeler et leurs options ?

Merci

1 réponse

Messages postés
212
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
23 juin 2011

Salut,

il faut que tu regarde du côté de ClientToScreen et ScreenToClient,
Tu doit probablement récupérer des coordonnées relative et réaffecter
des coordonnées absolue ( ou l'inverse ).

Cordialement,
Sébastien.