Rechercher : dans
Par :

[VB] Taille form en fonction de l'écran

Dernière réponse le 13 déc 2002 à 16:20:47 Farf, le 11 déc 2002 à 10:03:42 
 Signaler ce message aux modérateurs

Bonjour,
j'aimerais asvoir s'il existait une méthode ou un outil (à part Visual DlgStretch qui est payant) qui permettrait d'adapter la taille de la fenêtre (en maximised) automatiquement.
en effet, je développe sur 800*600 et le programme devrait tourner sur 1040*... ou plus.
j'ai cherché mais j'ai pas trouvé à part cet outil payant.
merci d'avance

Meilleures réponses pour « [VB] Taille form en fonction de l'écran » dans :
Mesurer sur l'écran VoirRègles à pixels Pour Windows Pour Mac OS Pour GNU/Linux Vous avez besoin de mesurer la distance entre deux points sur votre écran ? Laissez tomber la règle ou le pied à coulisse qui ne serviront qu'à laisser très probablement des...
Créer un raccourci pour activer ou désactiver l'écran de veille VoirL'écran de veille (ou économiseur d'écran) peut venir perturber ou faire échouer certaines applications de votre ordinateur, comme la gravure d'un CD, la visualisation d'une vidéo, etc. Pour éviter de désactiver à chaque fois votre écran de...
Windows 7 & Vista: changer la taille et la police de Windows VoirAvoir un bureau et une écriture moins traditionnelle . Tout ce que l'on peut distinguer comme écriture, pour les menus, les fenêtres, les icônes, les Systèmes Windows 7 et Vista utilisent une police et une taille par défaut . Cette ...
VBScript - Les fonctions et les procédures VoirLa notion de procédure On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction (ou procédure)...

1

teebo, le 11 déc 2002 à 10:05:43

Tu veux quoi? Repartir tes composants en fonction de la taille de la fenetre?

ö,ö  "Il est plus facile de donner des conseils
\_/    que de les appliquer"

Répondre à teebo

2

Farf, le 11 déc 2002 à 10:06:22

Oui,
ou mieux les agrandir (ou réduire) proportionnellement...

Répondre à Farf

3

teebo, le 11 déc 2002 à 10:32:42

JE connais pas d'outils, mais tu peux sur la fonction maximise redefinir la taille de chaque comme etant un pourcentage de la taille de la forme (pas oublie de mettre cet appel dans tous les evenements de changement de taille...)
C'est pas tres dur, il suffit d'une boucle bien ecrite...

ö,ö  "Il est plus facile de donner des conseils
\_/    que de les appliquer"

Répondre à teebo

4

beldyn, le 11 déc 2002 à 11:27:06

Teebo a raison, mais il faut veiller à bloquer les redimensionnements lors de l'appel à minimize

Répondre à beldyn

5

teebo, le 11 déc 2002 à 11:29:20

Exact :-D
Et selon le type de controle, limiter l'agrendissement aussi ;-)

ö,ö  "Il est plus facile de donner des conseils
\_/    que de les appliquer"

Répondre à teebo

6

Farf, le 11 déc 2002 à 11:42:48

Ok merci, je vais essayer de faire ça proprement.
si j'ai un problème... je reviendrais.
merci

Répondre à Farf

7

teebo, le 11 déc 2002 à 11:47:30

Hesites pas a utiliser form.controls qui te donne la collection de tous tes controles sur ta form...tres tres utile dans ces cas la ;-)
Tu peux meme tester le type du control apres (un label se comportera differement d'un textarea vraisemblablement...)

ö,ö  "Il est plus facile de donner des conseils
\_/    que de les appliquer"

Répondre à teebo

8

Farf, le 11 déc 2002 à 13:50:28

Ouais c'est bon j'ai utilisé une boucle
For each Obj in Form...
ça marche pour les fenêtres qui sont plus petite mais pas pour les fenêtres qui sont plus grandes...

en effet, pour le facteur proportionalité, j'utilise la hauteur de ma fenêtre dans mon VB (573) et celle qui est affichée, je fait le rapport. ça marche forcement quand c'est plus petit puisque la taille de la fenetre DOIT être réduite.
Mais... qd la fenetre affichée est plus grande ben ça marche pas, il me laisse la même hauteur (en paramètre) bien que la fenetre prene tout l'écran (car Maximized).
je sais pas si je suis clair...

bref, ce que je voudrais savoir c'est la taille réelle de ma fenêtre qd elle est en plein écran sur une configuration d'affichage plus grande.

Si vous avez des réponses... (ou si je me suis mal exprimé) ben je suis preneur.

Répondre à Farf

9

Farf, le 11 déc 2002 à 13:52:09

Ah non c'est bon, j'utilisais le ScaleHeight au lieu du Height tout court.
je sais pas si ça va changer mais je vais essayer.
Merci toujours.

Répondre à Farf

10

Farf, le 11 déc 2002 à 13:58:15

Ben non, en fait c'est moins bien au niveau des proportions et en plus ça marche pas quand c'est plus grand...
donc... si vous savez...

Répondre à Farf

11

teebo, le 11 déc 2002 à 14:18:16

Je comprend pas ce que tu veux dire :-S

ö,ö  "Il est plus facile de donner des conseils
\_/    que de les appliquer"

Répondre à teebo

12

Farf, le 11 déc 2002 à 14:29:56

Pour avoir mon facteur de proportionnalité je fait :

P=Form.ScaleHeight/573 (573 je l'ai en lisant dans mon éditeur)

puis je multiplis tout par P.

ça marche qd je lance le programme sur un ordi avec un résolution comme la mienne (800*600), normal.
ça marche sur un résolution plus faible (640*580) : les proportions sont gardées car le ScaleHeight change.
mais ça ne marche pas avec une résolution plus grande (1080*...) car le ScaleHeight ne change pas.

j'ai essayé de mettre simplement Height à la place de ScaleHeight mais ça ne marche pas.

je n'arrive donc pas à avoir une information sur la taille de ma fenetre en plein écran avant de la charger.

je sais pas si c'était plus clair...

Répondre à Farf

13

teebo, le 11 déc 2002 à 15:11:10

Si tu mets un brak point a cet endroit, quelle est la valeur de Form.height?

ö,ö  "Il est plus facile de donner des conseils
\_/    que de les appliquer"

Répondre à teebo

14

beldyn, le 11 déc 2002 à 15:30:05

N'oublie pas le mot clé screen, il peut t'aider suivant ce que tu fait:
screen.with
screen.height

evite aussi les dimensions en dur, préfères plutôt le relatif
exemple, à la place de 573, fais un rapport de taille sur screen.height

Répondre à beldyn

15

psycho_45, le 11 déc 2002 à 15:30:19

Essaie "Screen.Height" mais je ne suis vraiment pas sûr car ca fait longtemps que je n'ai pas fait de VB.

Répondre à psycho_45

16

Farf, le 11 déc 2002 à 16:49:00

Ben si bien vu, Screen.height ça marche nickel.
je vais essayer d'éviter les dimensions en dur.
Merci de vos lumières, problème résolu!

Répondre à Farf

17

beldyn, le 11 déc 2002 à 16:50:17

Content d'avoir pu t'aider
a+

Répondre à beldyn

18

 psycho_45, le 13 déc 2002 à 16:20:47

C'était un plaisir.

Répondre à psycho_45