Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Résolutions d'écran

5 réponses
Avatar
Yves Boyer
Je viens de tester la QB182070 "HOWTO : Create a Resolution-Independent
Form" dans les conditions suivantes :
- Résolution au design : 800x600
- Passée à 1024x768 aux essais

Constatations :
- Ma toolbar se redimensionne en largeur, mais pas en hauteur : W = 2730
Twips devient 3495, mais H reste 510.
- Elle contenait des boutons W = 464.88 Twips et H = 450.14 Twips portant
des images 24x24 Pixels.
Les dimensions de ces boutons ne changent pas. Seuls les PlaceHolders
s'allongent.
- Par contre mes CommandButtons isolés de style graphique ont leurs 2
dimensions qui augmentent normalement : W = 465 Tw devient 595 et H = 390
Tw devient 499
Mais le Debug raconte des bêtises au sujet des dimensions des images portées
par ces boutons :
J'y ai chargé des images 24x20 Pixels en 800x600. Le Debug m'annonce qu'à
1024x768 elles sont devenues 635x529 Twips (donc plus grandes que les
boutons 595x499 !!!) ou 42x35 Pixels !!!
- Pour en avoir le coeur net, j'ai mis sur ma ToolBar mon image "aide.gif"
de 24x24 Px, et j'ai fait un CommandButton isolé avec la même image : A
1024x768, le CommandButton s'agrandit, celui de la ToolBar ne change pas, et
leurs images conservent leurs dimensions de 800x600. Il en résulte que la
bordure autour de l'image du CommandButton s'élargit au point de devenir
affreuse.

En conclusion :
Les objets dimensionnés en Twips se redimensionnent normalement. Par contre
les images en Pixels gardent leurs dimensions.
Quelle que soit la résolution, un toolbar et des boutons de style graphique
garderont des images toutes petites. Aussi, à très forte résolution, on aura
du mal à distinguer leurs images et les CommandButtons auront des bordures
affreuses.

Autres constatations :
- Mes Labels et TextBoxs se redimensionnent normalement, ainsi que leurs
polices : Leurs MS Sans Serif de 8 deviennent 9.75 à 1024x768.
- Par contre mes RichTextBoxs, si elles augmentent normalement leurs propres
dimensions, conservent des petites polices : de 8 elles passent seulement à
8.25 ! Je suppose que les RichTextBoxs ont ce cran de Font.Size et que, à
plus de 1024x768, elles passeraient à un cran supérieur.
- Les MsgBoxs et InputBoxs de VB ne changent ni de dimensions, ni de tailles
de polices : Il faudra donc que je les remplace par des feuilles de ma
conception, redimensionnables comme toutes mes autres feuilles.

Question :
Il me semble que la majorité des utilisateurs travaillent maintenant en
800x600, au lieu du 640x480 qui dominait il y a quelques années. En outre je
constate que beaucoup d'applications recommandent le 800x600. De plus mon
nouveau moniteur est incapable de descendre à 640x480 et je suppose qu'il en
est ainsi pour les nouveaux écrans plats.
J'ai donc fait mon appli en 800x600 et j'élimine la possibilité de la faire
tourner en 640x480 : Au démarrage, je teste la résolution de l'utilisateur.
Si elle est inférieure à 800x600, je lui envoie le message suivant :
<Pour utiliser cette application, vous devez régler la résolution de votre
écran à 800x600 (ou plus).
Elle va se fermer pour vous permettre de changer la résolution.
Vous pourrez la relancer ensuite.>
Qu'en pensez-vous ?

Yves Boyer

5 réponses

Avatar
Adam Pietrasiewicz
<<< Attention - mon adresse dans l'entete de ce message >>>
<<< est une adresse ANTISPAM - pour m'ecrire cliquez sur >>>
<<< http://cerbermail.com/?DQr0g2Y88R >>>
=================================================== Le 28 wrze¶nia 2003 10:47:05 Yves Boyer a ecrit dans un message
news:#

Elle va se fermer pour vous permettre de changer la résolution.



Ceci ne sera pas une decouverte de l'Amerique, je crois, mais je vais
partager mes experiences dans ce domaine.

Je fais le design toujours en 800x600 - peu de gens utilisent 640x480,
on peut les oublier, je crois.

Je definis les tailles de tout, et ensuite je remets ScaleHeight et
ScaleWidth de la feuille a 1.

Dans l'evenement Resize de la Form je recalcule toutes les tailles en
multipliant les height et les width de chaque controle par ScaleHeight
et ScaleWidth de la Form.

Ca marche en principe, pour la plupart des controles.

Ca pose des problemes pour les listboxes, car les listboxes forcent la
taille du controle en fonction de la taille de la police - il faut
controler ca par le programme.

La taille des polices sont changees soit par l'utilisateur par les
options correspondantes (a mon avis c'est la meilleure solution) soit
elles changent au meme moment que le resize, par une multiplication
simple par ScaleHeight de la Form.

En principe ca marche, dans presque tous les cas. Il ne faut pas trop
s'amuser avec le StatusBar car il est un peu sauvage - j'ai totalement
abandonne les essais de scalage du Statusbar dans mes programmes - je
le fais un peu plus grand au debut, pour qu'il soit visible en tres
grandes resolutions et c'est tout.

Voila, si ca peut t'aider.
--
Adam Pietrasiewicz
Pologne


---
Ten list zosta³ wys³any przy u¿yciu Go³±bka http://www.amsoft.com.pl/golabek
Avatar
François Picalausa
Bonjour/soir,

"Adam Pietrasiewicz" a écrit dans
le message de news:
Ca pose des problemes pour les listboxes, car les listboxes forcent la
taille du controle en fonction de la taille de la police - il faut
controler ca par le programme.



Jette un oeil a la propriété IntegralHeight des listbox.
Elle permet justement d'éviter ce probleme.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
Avatar
Adam Pietrasiewicz
<<< Attention - mon adresse dans l'entete de ce message >>>
<<< est une adresse ANTISPAM - pour m'ecrire cliquez sur >>>
<<< http://cerbermail.com/?DQr0g2Y88R >>>
=================================================== Le 28 wrze¶nia 2003 11:23:36 François Picalausa a ecrit dans un
message news:#

Jette un oeil a la propriété IntegralHeight des listbox.
Elle permet justement d'éviter ce probleme.



Merci Francois!

T'es un genie - on ne rappelle pas ca suffisament souvent...

--
Adam Pietrasiewicz
Pologne


---
Ten list zosta³ wys³any przy u¿yciu Go³±bka http://www.amsoft.com.pl/golabek
Avatar
Pierre Alexis
Salut Yves,

Tu as écrit :

Moi je repositionne/redmiensionne tous les contrôles manuellement dans
l'événement Resize du formulaire. Ainsi je contrôle exactement ce que je fais
et je n'ai pas tous ces problèmes. Bon d'accord c'est long, je sais.... (c'est
là qu'on se dit vive VB.Net !)

--
Pierre ALEXIS - MVP Visual Basic
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/
Avatar
Yves Boyer
Merci de votre réponse.
Mais il me semble que vous ne faites rien de spécial au sujet des images
(chargées sur boutons), des MsgBox et InputBox.
Juste ?

Yves Boyer