Avoir la position d'un controle dans une FormView

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 - 7 août 2008 à 11:30
SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011 - 7 août 2008 à 11:48
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

SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
7 août 2008 à 11:48
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.
0
Rejoignez-nous