Changer la résollution d'écran en un clin d'oeuil
# 0000000559
ajouté le 10/05/2008 16:24:22 et modifié le 10/05/2008
consulté 6762 fois
Niveau
initié
Version(s) Foxpro : VFP 6.0
Description
Ce court programme facilite très souvent les choses en matière de redimensionnement automatique de la résolution d'écran et son effet est instantanné et fiable.... Il utilise 2 appels API ChangeDisplaySettings et EnumDisplaySettings.
Il suffit de lui passer 2 paramètres width et height souhaités (ici 1024px x 768px) comme suit: Si les dimensions sont identiques à celles installées,il ne se passe rien.
*utilitaire pour changer la résolution d'écran: *<do ychange_resol with 1024,768> ****************************************************
lPARAMETERS xWidth, xHeight
ifparameters()<>2 messagebox("Vous devez passer 2 paramètres Width et Height de résolution d'écran en pixels!") return
endi waitwindow ("Votre résolution d'écran sera changée en "+allt(str(xWidth))+'x'+allt(str(xHeight))+" pixels dans quelques secondes!") atsrows()/2,scols()/2-10 timeout 1
FUNCTION LongToStr LPARAMETERS lnLongVal LOCAL lnCnt, lcRetStr
lcRetStr = '' FOR lnCnt = 24 TO 0 STEP -8
lcRetStr = CHR(INT(lnLongVal/(2^lnCnt))) + lcRetStr
lnLongVal = MOD(lnLongVal, (2^lnCnt)) NEXT RETURN lcRetStr ENDFUNC
Commentaires
le 10/05/2008, Jean à Grenoble a écrit : J'ai deux questions :
1) j'étai parti pour redimensionner mes écrans, container, ..... en fonction de la résolution à partir de la classe mwresize (www.prolib.de) de façon à ce que mes écrans ait le même 'look' quelque soit le PC. C'est une méthode compliquée. Y-a-t-il un danger à changer la résolution d'un écran ? Que se passe-t-il pour les autres applis qui pourraient tourner à coté de VFP (Open Office, Firefox, Thunderbird) ?
2) on a un moyen de récupérer les dimensions courantes de l'écran pour être capable de le remetre dans son état initial en sortant de l'appli ?
A + Jean à Grenoble
le 25/05/2008, ybenam a écrit : Il n'y a rien de mieux que de faire un test avec plusieurs fenêtres ouvertes et de changer la résolution d'écran avec le programme....je l'ai fait avec Word,Frontpage et j'assure qu'il n'y a aucun risque jusqu'à preuve du contraire ! cette méthode est rapide et fiable à mon avis. Euh...désolé,Les 3 applications que tu as signalées sont inconnues chez moi .... D'ailleurs j'ignore pourquoi les applications sophistiquées de changement de résolution d'écran posent une question (avec un thermomètre ) une fois le changement opéré à chaque fois.... Les fonctions sysmetric(1) et sysmetric(2) retournent les dimensions courantes de l'écran.
le 26/05/2008, eric leissler a écrit : Jean Voir la contrib de mike http://www.atoutfox.org/articles.asp?ACTION=FCONSULTER&ID=0000000263 elle fonctionne très bien.
le 18/06/2008, Michel Lévy a écrit : La modifiction de la résolution de l'écran depuis une application me semble "hasardeuse", non pas sur le plan technique, mais bien sur le point soulevé par Mike dans sa contribution à ce sujet.
Je trouve que nos droits sur la machine d'un utilisateur se limitent à l'application que nous développons. Changer la résolution a des conséquences sur son bureau, ainsi que sur les autres applications en cours de fonctionnement. C'est au delà de la limite de ma propriété intellectuelle.
le 18/06/2008, eric leissler a écrit : Michel, je pense que tu as tout à fait raison et Mike l'avait bien souligné d'ailleurs. J'en ai au besoin sur un projet très spécifique et il s'agissait d'une demande du directeur du service informatique d'une grosse boite qui souhaitait que la modification se fasse à l'intérieur du programme et non par les propriétés de l'affichage. D'ailleurs, les utilisateurs n'avaient pas accès à cette fonction. Mais encore une fois, il s'agissait d'un cas extrèment spécifique. Il me semble qu'aux états unis, c'est même réprehensible si ma mémoire est bonne. A utiliser avec parcimonie extrème donc
le 19/06/2008, ybenam a écrit : Dans beaucoup de programmes, j'ai vu des auteurs signer "A vos risques et périls et sans garantie !".Faut il préambuler cet article comme cela ?
J'ai deux questions :
1) j'étai parti pour redimensionner mes écrans, container, ..... en fonction de la résolution à partir de la classe mwresize (www.prolib.de) de façon à ce que mes écrans ait le même 'look' quelque soit le PC. C'est une méthode compliquée. Y-a-t-il un danger à changer la résolution d'un écran ? Que se passe-t-il pour les autres applis qui pourraient tourner à coté de VFP (Open Office, Firefox, Thunderbird) ?
2) on a un moyen de récupérer les dimensions courantes de l'écran pour être capable de le remetre dans son état initial en sortant de l'appli ?
A +
Jean à Grenoble