IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

[Résolution d'écran] Comment adapter les composants à la résolution ?


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut [Résolution d'écran] Comment adapter les composants à la résolution ?
    Bonjour,
    je reprend un logiciel et g un petit problème avec la résolution:

    Il a été prévu pour une résolution 1024*768. Mais cette application est utilisée sur beaucoup d'ordinateurs et certains ne peuvent fonctionner qu'en 800*600. Sur ces ordinateurs les fenetres sont trop grandes et le logiciel n'est pas très agréable à utiliser..

    J'ai donc essayé de modifier la taille de l'écran en faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      ficheRecherche.Width := Screen.Width;
      ficheRecherche.Height := Screen.Height;
    la taille de la fenêtre est bonne mais..
    ce que je voudrais c'est que l'application soit vraiment en plein écran sans avoir besoin de scrollbar pour pouvoir utiliser tous les boutons, il faudrait donc réduire la taille des composants de la fenêtre. Y a t'il une fonction qui peut faire ça? ou est-ce que je dois prendre les composants un par un? -_- ou peutêtre y a t'il une solution plus facile... ( par exemple on peut faire une boucle qui contient tous les composants de la fiche?)

    merci de vos réponses !

  2. #2
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Je pense que tu peux t'en sortir avec les propriétés Anchros et Align des composants
    MD Software
    ---------------------------
    F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut
    Des composants? ça veut dire qu'il faut que je le fasse pour chaque composant? y a pas une méthode plus rapide y a énormément de composants pour chaque fiche!! :p

    je peux faire ça apparemment:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for i:=0 to ficheRecherche.ComponentCount - 1 do
    mais après pr changer leur taille...

  4. #4
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Bien sûr que tu peux le faire dans le code en utilisant les méthodes d'accès aux composants, mais si tu veux le faire sur ta fiche [en mode design], il te faut malheureusement le fait manuellement sur chaque composants. L'intérêt de cette deuxième solution, c'est que tu "vois" ce que fais.
    MD Software
    ---------------------------
    F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut
    donc en gros pour procéder tu me conseilles de prendre chaque composant, de regarder ou je l'ai mis pour que ça soit bien en 800*600 et que je releve les positions puis que je les écrive dans le code si la résolution est 800*600? (ça me paraît bien prise de tête quand même :p)

    Je vais essayer en les réduisant dans le code déja... Sinon je serai obligé de les reprendre un par un lol...

    merci pour la réponse (j'attend voir si quelqu'un à une solution plus rapide avant de passer en résolu )

  6. #6
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Citation Envoyé par davinout
    donc en gros pour procéder tu me conseilles de prendre chaque composant, de regarder ou je l'ai mis pour que ça soit bien en 800*600 et que je releve les positions puis que je les écrive dans le code si la résolution est 800*600? (ça me paraît bien prise de tête quand même :p)
    Non, tu places tes composants dans ta form en 800*600 par exemple, et tu joues aves les propriétés align et anchros de chaque composant pour que lorsque la fenêtre s'agrandi, les composants se placent automatiquement là où il faut.
    MD Software
    ---------------------------
    F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut
    je pense avoir compris ce que tu veux dire mais je vois pas trop comment faire, mais je v de ce pas me documenter sur anchors et align et peut-être que là j'y arriverai ^^'

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut
    g un peu de mal à les faire bouger la où je veux lol..
    Sinon il faut mieux que je parte d'une version 800x600 et que je gere les paramètres pour que ça se place en 1024x768 ou plutôt l'inverse?

  9. #9
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Et bien, c'est plus simple de partir de la taille la plus petite autorisée mais il n'y a pas d'obligation
    MD Software
    ---------------------------
    F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut
    ok merci je vais essayer de partir de 800x600 alors

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 88
    Points : 101
    Points
    101
    Par défaut
    Bonjour,

    je me souviens d'un source (Easysize.pas) qui le faisait pour moi...
    Reste à chercher sur google.

  12. #12
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Un truc trés simple : dans le OnCreate de ta fiche tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Screen.Width=800 Then ChangeScale( 800,1024);
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  13. #13
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Perso, j'utilise la propriété Scaled des forms que je mets à false... (elle est à true par défaut). Ainsi, mes projets conservent le ppi (pixel per inch) utilisé à la conception, et je n'ai plus de souci de résolution d'écran... Cela dit, cette solution ne t'apporte rien au niveau redimensionnement, mais permet simplement de conserver les proportions du programme quelle que soit la résolution. Autrement, certains objets (mais pas tous) comme les polices par exemple, sont automatiquement redimensionnés et ça devient vite ingérable...

    Je pense que ceux qui utilisent une résolution de 800x600, c'est pour obtenir une affichage plus gros et pour mieux y voir. Au contraire, ceux qui utilisent des résolutions plus grandes, c'est parce que le fait que l'affichage soit plus petit ne les dérange pas et qu'ils veulent pouvoir profiter de tout l'espace du bureau pour y afficher plusieurs application par exemple... En redimensionnant automatiquement mes projets, je ne leur laisserai plus le choix... C'est donc inutile selon moi de vouloir ajuster son programme à la résolution de l'utilisateur, c'est lui qui choisit.

    à+


    Lien tout en bas à gauche de cette fenêtre
    De retour parmis vous après 10 ans!!

  14. #14
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Points : 67
    Points
    67
    Par défaut
    merci à tous pour vos réponses, je vais adopter la méthode avec changeScale, c'est exactement ce que je cherchais!

    En ce qui concerne mon application, on m'a demandé que ça se lance directement en plein écran donc je dois faire avec

    encore merci!

  15. #15
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 415
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par MD Software Voir le message
    Non, tu places tes composants dans ta form en 800*600 par exemple, et tu joues aves les propriétés align et anchros de chaque composant pour que lorsque la fenêtre s'agrandi, les composants se placent automatiquement là où il faut.
    Bonjour,

    pourriez vous nous illustrer par un petit exemple de TButton, TEdit et TDBGrid SVP ?

    Merci d'avance pour votre aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment adapter les marges et son site selon les résolutions ?
    Par Marc22 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 19/07/2009, 00h32
  2. Adapter les composants graphique à la résolution de l'ecran
    Par Angel30 dans le forum Interfaces Graphiques
    Réponses: 10
    Dernier message: 09/07/2009, 13h37
  3. Adapter les composants graphique à la résolution de l'ecran
    Par icicmoi dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 07/08/2008, 21h30
  4. Comment adapter les objets graphiques (uicontrol) à toutes résolutions d'écran
    Par camillechambon dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 01/05/2007, 23h01
  5. Réponses: 20
    Dernier message: 16/08/2006, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo