Bonjour,
Comment faire pour qu'une application s'adapte à tout les types d'environnement graphique.
Exemple: l'application doit reconnaitre les portables en 800x600 aussi bien que les 1680x1050.
J'espére que je suis clair.
Merci d'avance
Bonjour,
Comment faire pour qu'une application s'adapte à tout les types d'environnement graphique.
Exemple: l'application doit reconnaitre les portables en 800x600 aussi bien que les 1680x1050.
J'espére que je suis clair.
Merci d'avance
Si je comprends bien, tu veux que tes fenêtres soient plus grandes en 1680x1050 qu'en 800x600? Si c'est le cas, tu peux redimensionner tes fenêtres à l'ouverture par un facteur que tu peux calculer avec SysRésolutionEcran(). Ex: Ta fenêtre à 400px de large sur un écran 800x600, alors sur une 1680x1050 elle aura 840px de large.
«Un problème bien défini est un problème à moitié résolu.»
Bonjour,
Ce que je souhaite c'est que mon application que je lance en 1680x1050 puisse s'adapter automatiquement à une autre résolution d'écran. Surtout pour les portables et autres écrans.
Et ma solution ne te conviens pas?
«Un problème bien défini est un problème à moitié résolu.»
J'ai pas encore testé, mais si je me retrouve avec un eepc à 800x600, comment je fait?, je teste votre solution et je vous dis.
ps : sous windev 10 "sysrésolutionecran" n'existe pas
Merci
a+++
Mais je vois pas le problème si la résolution est plus petite tu rapetisses ta fenêtre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 iLargeurEcran est entier = api("user32", "GetSystemMetrics", 0) iHauteurEcran est entier = api("user32", "GetSystemMetrics", 1) MaFenetre..Largeur = (iLargeurEcran/800)*MaFenetre..LargeurInitial MaFenetre..Hauteur = (iHauteurEcran/600)*MaFenetre..HauteurInitial
«Un problème bien défini est un problème à moitié résolu.»
Il faut juste faire attention à penser aux petits écrans lorsque tu crées ton IHM.
Si jamais tu te bases sur ton écran pour la création, tu risques d'avoir de sacrés problèmes d'ancrages, de champs qui se superposent, etc. si jamais tu réduis trop la taille de la fenêtre.
Il vaut donc mieux créer ta fenêtre de la plus petite taille possible (perso j'y vais en 1024*768, le 800*600 n'existe quasiment plus), puis tu gères tes ancrages de façon à ce que ça ne soit pas tout moche si on agrandit la fenêtre .
Ensuite, soit tu veux ouvrir tes fenêtres maximisées et là il te suffit de choisir "maximisée à l'ouverture" dans l'onglet IHM de la description de la fenêtre, soit tu utilises la méthode de klbsjpolp (t'as choisi ce pseudo pour qu'on galère à l'écrire ? ).
Il y a plus simple pour récupérer la résolution de l'écran : SysXRes() et SysYRes() (qui doivent utiliser la fonction d'api que tu appelles mais c'est plus clair )Mais je vois pas le problème si la résolution est plus petite tu rapetisses ta fenêtre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 iLargeurEcran est entier = api("user32", "GetSystemMetrics", 0) iHauteurEcran est entier = api("user32", "GetSystemMetrics", 1) MaFenetre..Largeur = (iLargeurEcran/800)*MaFenetre..LargeurInitial MaFenetre..Hauteur = (iHauteurEcran/600)*MaFenetre..HauteurInitial
Je plussoie, il est nettement plus simple de faire une IHM sur la plus petite résolution qui peut-être rencontrée.
Au-dessous du 800*600, cela devient très rare.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager