Probleme lorsque je maximise une fentre sous Visual C++ - C++ - Programmation
Marsh Posté le 08-11-2002 à 17:58:00
centrer à gauche
centrer au centre
centrer au milieu
...
que voilà de drôles de concepts
Marsh Posté le 08-11-2002 à 18:03:39
désolé je vais etre plus precis en fait lorsque je maximise ma fenetre tous les labels restent a la meme position par rapport au coté gauche de la fenetre alors que moi je veux qu'ils soient un milieu de ma fenetre. Pour resumer lorsque je place mes labels sur la fenetre qui est reduite, je les met au milieu mais ils ne le restent pas qd je maximise la fenetre.
en esperant que cela soit plus precis.
Pompil
Marsh Posté le 08-11-2002 à 18:06:07
bah tu dois modifier la position de tes labels lors d'un événement WM_SIZE (je crois) de la fenêtre...
Y a peut-être une autre solution plus simple mais je sais pas si elle est possible en VC++, ça dépend de ce qui existe dans les MFC / API Windows : fais des labels ayant comme largeur toute la largeur de la fenêtre, et donne au texte qui est dans ces labels l'attribut d'alignement "centré"... mais bon là je sais pas t'aider, je sais juste qu'avec Builder je fais Label1->Alignment = taCenter
Marsh Posté le 08-11-2002 à 21:28:38
S'il calcule la position de ses labels par rapport à la taille effective de la feuille (larg et hauteur) et qu'il les dessine dans les évènements WM_PAINT, ça devrait aller ?
Si la taille(fonte) ne change pas, left = (LargeurFeuille - LargeurLabel) / 2, top = (HauteurFeuille - HauteurLabel) / 2.
Le WM_SIZE doit être pas mal car sous Win32 bits, le message est presque "continu" (sous win 16 bits, on ne l'a que quand la feuille ne bouge plus).
Marsh Posté le 08-11-2002 à 17:52:49
Voila lorsque j'appuis sur le bouton maximiser de ma fenetre, tous les labels se centre a gauche de la fenetre et non au centre de la fenetre. Comment je peuw faire pour qu'ils soient centrés au milieu de la fenetre ??
Merci d'avance.
Pompil