Page 1 sur 1

[..] Adaptation d'un texte selon la résolution d'écran  

Posté : mar. 27 oct. 2015 09:32
par Yle
Bonsoir à tous,

Ce sujet a déjà été discuté dans le forum mais je ne m'en sors pas.
J'ai créé ce petit programme pour qu'il fonctionne en résolution 800x600
Quand je passe mon PC en 1024x768, tout me semble correct
Quand je monte en 1280x800, plus rien ne s'affiche
Où est le bug ?

Mon logiciel basé sur StringSize
► Afficher le texte
Merci d'avance

Re: [..] Adaptation d'un texte selon la résolution d'écran

Posté : mar. 27 oct. 2015 19:14
par orax
Le redimensionnement du label se faisait avant que la fenêtre soit correctement redimensionnée. Les coordonnées et dimensions utilisées étaient incorrectes. Avec les modifs, les dimensions du label seront mises à jour à chaque redimensionnement de la fenêtre par WinMove (dans _ScreenAdaptation).
J'ai sorti la boucle While du GUIGetMsg() et j'ai commenté l'autre While puisqu'elle n'était pas utile.
J'ai utilisé GUICtrlSetPos au lieu de ControlMove. Plus pratique dans ce cas.
► Afficher le texte

Re: [..] Adaptation d'un texte selon la résolution d'écran

Posté : mar. 27 oct. 2015 23:58
par Yle
Merci pour ton aide Orax car j'avoue que j'étais un peu perdu.
Je pense que je ne vais pas prendre en compte cette ligne : AdlibRegister("_ScreenAdaptation", 1000) car çà choque un peu que l'affichage ne soit pas immédiat.

Je passe en résolu.

Re: [R] Adaptation d'un texte selon la résolution d'écran

Posté : dim. 08 nov. 2015 11:50
par Yle
Bonjour à tous,

Apres avoir fait des essais en résolution 800x600, 1024x768 et 1920x1080, je me rends compte que la fonction "stringsize" ne joue pas tout à fait son rôle.

Si cadrage normal, les lignes sont mal remplies et j'ai quelques lignes blanches "ajoutées" après l'affichage de mon texte sur mes 2 onglets (Page 0 et 1)
Je peux modifier ces 2 lignes :
GUICtrlSetPos($hLabel0, Int(5 * $CoefW), Int(23 * $CoefH), $MsgPage0[2], $MsgPage0[3])
GUICtrlSetPos($hLabel1,int(@DesktopWidth*0.7), Int(23 * $CoefH), $MsgPage1[2], $MsgPage1[3])
en faisant :
GUICtrlSetPos($hLabel0, Int(5 * $CoefW), Int(23 * $CoefH), $MsgPage0[2], $MsgPage0[3]-XX)
GUICtrlSetPos($hLabel1,int(@DesktopWidth*0.7), Int(23 * $CoefH), $MsgPage1[2], $MsgPage1[3]-YY)
mais ca ne fonctionne pas avec ces 3 résolutions d'écrans

Une idée...
► Afficher le texte