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

Farf Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   -  
 farf -
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
A voir également:

15 réponses

teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
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"
2
Farf Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   3
 
oui,
ou mieux les agrandir (ou réduire) proportionnellement...
1
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
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"
1
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
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"
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
beldyn Messages postés 188 Date d'inscription   Statut Membre Dernière intervention   19
 
Teebo a raison, mais il faut veiller à bloquer les redimensionnements lors de l'appel à minimize
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Exact :-D
Et selon le type de controle, limiter l'agrendissement aussi ;-)

ö,ö  "Il est plus facile de donner des conseils
\_/    que de les appliquer"
0
Farf Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   3
 
ok merci, je vais essayer de faire ça proprement.
si j'ai un problème... je reviendrais.
merci
0
Farf Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   3
 
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.
0
Farf Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   3
 
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.
0
Farf Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   3
 
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...
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Je comprend pas ce que tu veux dire :-S

ö,ö  "Il est plus facile de donner des conseils
\_/    que de les appliquer"
0
Farf Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   3
 
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...
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
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"
0
beldyn Messages postés 188 Date d'inscription   Statut Membre Dernière intervention   19
 
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
0
psycho_45 Messages postés 1379 Date d'inscription   Statut Membre Dernière intervention   8
 
essaie "Screen.Height" mais je ne suis vraiment pas sûr car ca fait longtemps que je n'ai pas fait de VB.
0
Farf Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   3
 
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!
0
beldyn Messages postés 188 Date d'inscription   Statut Membre Dernière intervention   19
 
Content d'avoir pu t'aider
a+
0
psycho_45 Messages postés 1379 Date d'inscription   Statut Membre Dernière intervention   8
 
C'était un plaisir.
0
zelkhazzar
 
Salut ,
Je rencontre le problème que toi mais dix ans plus tard si tu peux m'expliquer comment tu l'as résolu ça sera génial , merci d'avance.
0
farf
 
J'avoue que j'avais oublié jusqu'à l'existence de ce message. Quant à VB, les rares souvenirs que j'en ai ne me permettent pas de te répondre. Désolé !
0