Bonjour à tous!
bon, j'ai un petit pb et j'aimerais que qq1 m'éclaire sur le sujet.
J'ai un objet dérivé d'un CDialog (CTstDlg), contenant un controle (CGCtrl).
Comme je veux gérer les éventuels redimensionnements de fenêtre, voilà comment je procède.
1/ dans le InitDialog de CTstDlg, je fais un GetWindowRect afin d'avoir le rectangle de mon dialogue. Je fais aussi un CGCtrl.GetWindowRect pour avoir celui de mon ctrl. Ensuite, je fais la soustraction des left et top de chaque rect, ça me donne en gros l'offset du ctrl dans mon dialogue.
2/ dans le onsize de CTstDlg, je refais un GetWindowRect et je fais un right - left et un top - bottom pour avoir les nouvelles tailles de mon dialogue (je sais, il y avait plus simple avec GetClientRect par exemple). Enfin, je fais un CGCtrl.MoveWindow avec comme parametres les deux offset calculés dans le 1 et les nouvelles tailles basée sur le taux d'agrandissement calculé.
Le pb, c'est que dans le 1/ mes deux offsets sont différents de ce que je vois dans l'éditeur de ressources de VC++. Par exemple, le calcul me donne un décalage en Y de 226, alors que dans la fenetre d'édition, la reglette me donne environ 108. Du coup, quand je fais le MoveWindow sur mon controle, celui ci se retrouve plus bas que prévus.
QQ1 a une idée la dessus ? Merci!
Message édité par TheFox37 le 27-11-2003 à 23:44:06