Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Problème de résolution écran. Sam 6 Déc 2014 - 16:53 | |
| Bonjour à tous. Dans vos divers programmes, vous utilisez certainement abondamment les commandes left, top, width et height avec des coordonnées absolues. Grosse erreur, à mon avis. Avez-vous déjà pensé qu'un autre utilisateur de votre logiciel n'avait pas forcément la même résolution écran que la vôtre ? Pour ma part, j'ai résolu le problème de la façon suivante: J'ai abandonné ces 4 commandes, et les ai remplacées par les sub suivantes: - Code:
-
sub gauche(param1%,param2%,param3%) fl=1 if param3%=1 then fl=largeur_ecran%/1600 left param1%,int(param2%*fl) end_sub
sub haut(param1%,param2%,param3%) fh=1 if param3%=1 then fh=hauteur_ecran%/900 top param1%,int(param2%*fh) end_sub
sub largeur(param1%,param2%,param3%) fl=1 if param3%=1 then fl=largeur_ecran%/1600 width param1%,int(param2%*fl) end_sub
sub hauteur(param1%,param2%,param3%) fh=1 if param3%=1 then fh=hauteur_ecran%/900 height param1%,int(param2%*fh) end_sub Qu'en pensez-vous ? | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Problème de résolution écran. Sam 6 Déc 2014 - 17:30 | |
| Dans tes SUBs, tu présupposes que mon écran est de 1600/900 pixels. Et s’il n’est pas ainsi ? Suis-je à côté de ton idée ? | |
|
Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Problème de résolution écran. Sam 6 Déc 2014 - 17:33 | |
| Bonjour.
Oui, dans le cas où ta résolution écran est différente de 1600x900, il suffit de modifier ces constantes dans les 4 subs. | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Problème de résolution écran. Sam 6 Déc 2014 - 17:38 | |
| Je pense qu’il est plus simple d’utiliser SCREEN_X et SCREEN_Y - Code:
-
print "largeur de mon écran : " + str$(screen_x) print "hauteur de mon écran : " + str$(screen_y)
| |
|
Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Problème de résolution écran. Sam 6 Déc 2014 - 17:56 | |
| Non, impossible d'utiliser screen_x et screen_y.
La raison est la suivante:
largeur_ecran% et hauteur_ecran% sont initialisées à screen_x et screen_y en début de programme.
Et dans ce cas, on aurait toujours fl et fh=1 !! | |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Problème de résolution écran. Sam 6 Déc 2014 - 18:43 | |
| Je pense que Papydall a raison Pedro !
j'explique : Si tu développe ton programme en 1600*900, tu calcules le rapport de la largeur et de la hauteur de l'ecran de l'utilisateur par rapport au tien :
fl=screen_x / 1600 : fh=screen_y/900
ensuite tu n'as plus qu'a appliquer ce coefficient fl ou fh au variables concernées (left , top , width, height ...)
qu'est ce que tu en penses ? | |
|
Contenu sponsorisé
| Sujet: Re: Problème de résolution écran. | |
| |
|