Resize d'une form

Messages postés
36
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
28 juin 2008
- - Dernière réponse : cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 28 juin 2008 à 12:55
Bonjour à tous,
j'ai programmé une petite application qui affiche toutes sortes d'informations provenant d'une base de données. La fenêtre principale de cette appli doit etre afficher sur de grands écrans dans des ateliers de production.
Le problème c'est que la form ne prend pas tout l'espace sur l'écran mais seulement une petite partie. J'aimerais que tout ce qui est placé sur la form s'adapate à la taille de la form.
J'ai trouvé plusieurs programmes qui permettent de redimensionner tous les controle d'une form lors d'un "Resize" mais ça ne me conviens pas car je veux vraiment que tout s'agrandisse (combo, label avec plus grande police ...) avec la taille de la form : un peu comme si on utilisant la loupe de Windows ...

J'espère que vous pourrez me donner des pistes car je ne vois vraiment pas comment faire !
Je vous remercie.

Bon week end.
Afficher la suite 

6 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
0
Merci
Salut
Comme tu le devines, ceci ne consiste qu'à deux choses :
- Repositionner les composants sur la forme pour que l'aspect soit respecté
Ca, ça se règle à coup de Move et de calculs que tu trouveras seul ou en t'inspirant des codes qui parlent de redimensionnement
- Changer la police de caractère de chaque composant concerné afin que le texte soit lisible proportionnellement.
C'est une histoire de Font.Size
A toi de calculer quelle doit être la taille optimale en fonction de la taille du composant.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
0
Merci
Pour tes calculs (niveau 5ème) :
Tu as un bouton en x:100 et y:200
Au lancement de l'appli, quand la forme et les composants représentent un aspect correct, tu calcules le pourcentage par rapport aux dimensions de la forme :
- pour la position haute du bouton
- pour sa position verticale
- pour sa hauteur
- pour sa hauteur
Idem pour la police.
Pour connaitre la hauteur ou largeur d'un mot, utilise une PictureBox que tu rends invisible.
Elle a une propriété intéressante nommée .TextWidth("mon texte") et .TextHeight("mon texte") qui te donneront ces valeurs.
Quand tu changeras la taille de la police de cette PictureBox, l'espace occupé par ces caractères évoluera aussi.
Donc, comme pour la taille des composants, mémorise la hauteur du texte par rapport à la taille de la forme --> Pourcentage

Quand la taille de la forme sera modifiée, il te suffira de recalculer chaque paramètre de chaque composant + la taille de la police pour que leur aspect (pourcentage) soit maintenu.
Commenter la réponse de cs_Jack
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
salut,

ne sachant pas si t'es retombé sur ma source, je te la propose :

[codes/METHODE-ZOOM-SUR-FORM-CONTROLES_40519.aspx MÉTHODE ZOOM SUR UNE FORM (ET SES CONTRÔLES)]

en espérant que cela convient à tes besoins

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Commenter la réponse de mortalino
Messages postés
36
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
28 juin 2008
0
Merci
Merci beaucoup pour toutes ces infos,
j'essaie et je vous tiens au courant.

Merci, bon week end.
Commenter la réponse de djtrefle
Messages postés
36
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
28 juin 2008
0
Merci
je viens de penser à un truc :

même si j'arrive à mettre en place ce que vous me dîtes, les msgbox que j'utilise eux resteront tout petit non ?
Commenter la réponse de djtrefle
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
0
Merci
Oui puisqu'elles sont gérées par le système.
Mais là, c'est un jeu d'enfant de recréer ta propre MsgBox : vbFrance en est rempli !

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack