benalioua1975
Messages postés93Date d'inscriptionsamedi 31 décembre 2005StatutMembreDernière intervention26 juin 2013
-
4 mars 2007 à 08:35
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 2022
-
9 mars 2007 à 23:01
bonjour, tous le monde
j'ai un ptt probleme , je programme avec delphi7 , et je veux que mes form
s'adaptent avec les types d'affichage 800*600, 1024*,......
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 9 mars 2007 à 21:35
Salut Cirec,
A mon avis il est préférable (si l'on garde les mêmes proportions 800*600 et 1280*1024) de faire :
ChangeScale(1280, 800);
ChangeScale(800, 1280);
Les calculs sont simplifiés et l'on ne perd pas 0.5 à chaque fois qu'on revient à la dimension d'origine (il suffit de mettre 100 changements d'échelle dans une boucle pour voir la déperdition) :
for i := 0 to 99 do
begin
ChangeScale(160, 100);
ChangeScale(62, 100);
Application.ProcessMessages;
end;
Bon, tu me diras, on va pas forcément redimensionner la fiche 100 fois...
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 4 mars 2007 à 09:39
Salut.
Pour connaitre la résolution de l'écran, utilise la variable Screen (prédéclarée par Delphi de type TScreen). Regarde l'aide delphi sur TScreen et tu verras notamment :
Screen.Width : renvoie la largeur totale en pixels de l'écran
Screen.Height : hauteur totale
Screen.WorkAreaHeight : hauteur totale - la hauteur de la barre des tâches.
...
Connaissant cela, tu peux facilement dans l'événement OnCreate de ta fiche adapter la taille de ta fenêtre.
Si tu veux garder les proportions exactes de ta fenêtre originale, tu dois jouer avec le ratio width/height.
Mais changer la taille d'une fenêtre impose que tu règles parfaitement pour tous les composants leur propriété Anchors. Un exemple : si tu as un Bouton au bas de ta form, Anchors doit être : [akLeft, akBottom]. Si tu laisses akTop: avec akBottom en plus, la hauteur de ton bouton va augmenter si tu augmentes la hauteur de ta fenêtre; sans akBottom, ton bouton risque de se retrouver au milieu de ta fenêtre !