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

C++ Discussion :

la GUI et la dimension de l'écran


Sujet :

C++

  1. #1
    Invité
    Invité(e)
    Par défaut la GUI et la dimension de l'écran
    Salut,

    ce n'est pas du code que je demande mais simplement une explication plus général. Dans le principe, comment faire pour que la GUI s'adapte automatiquement à la résolution sans que l'ensemble ne soit disproportionné ? Parce que j'ai travaillé sur du 1024*768 et quand je passe en 1600*900 ça fait mal aux yeux ..

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 113
    Points : 32 958
    Points
    32 958
    Billets dans le blog
    4
    Par défaut
    Bonsoir,

    c'est au cas-par-cas.
    Si ton élément est scalable, le scaler.
    Sur la largeur, la longueur, ou les deux.

    Tu peux aussi préférer que ton élément ne scale pas et garde une taille fixe.

    Il n'y a pas, amha, de réponse universelle.
    Pour avoir fait de la prog GUI, c'est un beau merdier. Les graphistes ont leur idée, et faut juste l'atteindre. Certains éléments doivent scaler, d'autres non.
    Le plus contraignant étant le changement de dimension : développer/adapter sur du 16/9, et rendre ça joli sous 4/3, puis 16/10.
    A ce moment-là, on avait décidé qu'un élement calcule sa largeur sur le nouveau pixel ratio, mais conserve son propre ratio et adapte sa hauteur en conséquence. Sur d'autres éléments il fallait garder une taille en absolue. Sur d'autres encore laisser l'élément s'adapter au nouveau ratio.

    Dans le cas d'un bouton, tu le remarques directement sur son aspect circulaire ou non. Si le ratio est mauvais, il sera aplati sur les côtés ou bas et haut.
    Pour un background fait pour, tu le laisseras juste remplir tout l'écran.

    Bonne chance
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Invité
    Invité(e)
    Par défaut
    ok donc il faut scaler soi-même.... mais pour chaque résolution d'écran possible ??

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Points : 1 475
    Points
    1 475
    Par défaut
    Je pense que la réponse de Bousk se référait à des éléments scalables...par le calcul. Pas besoin de définir une version par résol donc, plutôt des stratégies en fonction des ratios largeur/hauteur de l'écran. Après pour des images bitmap, là c'est différent. Tu peux peut-être définir un certain nombre de tailles fixes (pas forcément une par résolution) en passant de l'une à l'autre par seuils.

  5. #5
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Ça dépend vraiment de la nature de l'application. Que veux tu faire de l'espace en plus disponible ? Dans une application professionnelle, la réponse sera souvent : Mettre des contrôles supplémentaires, ou faire que les contrôles existants puissent afficher plus de texte. Dans une application ludique ou multimédia, la réponse sera souvent : Afficher la même chose, mais en un peu plus gros. Dans la vraie vie, le réponse sera souvent un mélange des deux .

    En pratique, ces choix définissent la structuration même de ton IHM. Par exemple, pour les IHM à base de contrôle, tu ne diras probablement pas "mets un bouton à telles coordonnées, puis un deuxième à telles coordonnées", mais plutôt "mets un bouton, puis un espace, puis un bouton à côté du premier" ou encore "mets un place une liste horizontale d'objets, contenant deux boutons".
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

Discussions similaires

  1. Dimensions de l'écran
    Par Fandyz dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 05/08/2013, 12h17
  2. Interface graphique avec dimension superieure à l'écran
    Par merzakalouache dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 24/04/2013, 19h17
  3. adataption des pages à la dimension de l'écran
    Par dieudo dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 09/07/2008, 19h22
  4. prendre les memes dimensions que l'écran
    Par M E H D I dans le forum JBuilder
    Réponses: 2
    Dernier message: 02/06/2008, 01h34
  5. [VB6] Dimensions d'une form - résolution écran
    Par eagleleader dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/12/2005, 16h10

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