Garder la position des composants après redimensionnement

Garder la position des composants après redimensionnement - Delphi/Pascal - Programmation

Marsh Posté le 11-07-2005 à 14:56:58    

Bonjour,
voila je débute en Delphi et quelque chose me pose un problème, ça savoir que lorsque je lance mon appli, je dis à ma form de se maximiser donc la les composants sont placés comme je le veux.
Seulement, si l'utilisateur redimensionne la fenêtre, alors la mes edit et button ne reprennent pas la position relative qu'ils avaient...
J'ai bien essayé de bidouiller les propriétés align et anchor, mais rien n'y fait...
Vous avez une tite solution pour moi svp?
Merci d'avance!

Reply

Marsh Posté le 11-07-2005 à 14:56:58   

Reply

Marsh Posté le 11-07-2005 à 15:14:34    

Avec align et anchor on peut déjà faire pas mal. Mais vu les infos que tu donnes c'est pas évident de t'aider :p Un exemple serait peut-être utile...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 11-07-2005 à 15:31:10    

Ok, alors voici venir de belles images (heu bien grosses hein)...
Donc la c'est quand je lance mon appli avec les composants que j'ai centré grosso modo à la mimine
http://img282.imageshack.us/img282/4101/pisituation8ma.png
 
Ensuite, si je réduit la fenêtre, voila ce qui se passe...
 
http://img282.imageshack.us/img282/3205/pisituation20rs.png
 
J'aimerais bien que mes composants puissent retrouver la même position relativement à la nouvelle taille de ma form...
Merci

Reply

Marsh Posté le 11-07-2005 à 15:46:00    

Si tu le désir, dans le OnResize de la TForm, tu calcul la position du composant.
 
Exp:
  Edit1.Left := Form1.Width - (Edit1.Width / 2)

Reply

Marsh Posté le 11-07-2005 à 15:53:07    

Heu désolé, mais je vois pas du tout ou tu veux en venir parce que me socmposants ot une place à l'origine, si je recalcule dans le onresize, je ne sais pas si la fenêtre est rétrécie ou agrandie donc comment faire pour obtenir les bonnes coordonnées...il n'y a pas moyen de faire ça sans passer par de savants calculs??? :??:

Reply

Marsh Posté le 11-07-2005 à 17:18:34    

Tu mets alLeft & alRight à False et normalement les éléments resteront centrés.
Sinon en 1 ligne de code avec un savant calcul (division par deux de la taille de la Form moins la taille du composant) devrait faire l'affaire, comme dit ci-dessus.


Message édité par antp le 11-07-2005 à 17:19:17

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed