Redimensionner une form en fonction d'une picturebox.

Résolu
harddisk Messages postés 54 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 13 mai 2007 - 20 août 2004 à 11:15
harddisk Messages postés 54 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 13 mai 2007 - 20 août 2004 à 17:17
Hello,
J'ai un problème super bête et très courant et je me souviens plus de la solution(trop longtemps que j'ai pas touché à VB).
J'ai une form et une picture et je souhaiterai que la form aie la taille de la picture box(original)
je fais donc
picture1.move 0,0
form1.width=picture1.width
form1.height=picture1.height

et, ca marche pas: ma forme est la plus petite possible
Je vérifie donc, tous les scalmode sont à 3(pixel) et quand je regare la width par exemple de ma forme, elle fait 13256!!!! Ca peut pas etre des pixels vu que mon écran fait pas 13256 pixels et que ma form tient dedans. Ca ressemble plus à des twips. Mais pourtant je suis en pixel.
D'ou celà viens??
merci

4 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
20 août 2004 à 13:56
en calculant la différence entre Form1.Width et Form1.ScaleWidth
pour la lageur et entre Form1.Height et Form1.ScaleHeight pour la hauteur.
Si ta forme est en pixels on aura:
dw = Form1.Witdh - Form1.ScaleWidth * Screen.TwipsPerPixelX
dh = Form1.Height - Form1.ScaleHeight * Screen.TwipsPerPixelY
donc ton cacul devient:
Form1.Width = Picture1.Width * Screen.TwipsPerPixelX + dw
Form1.Height = Picture1.Height * Screen.TwipsPerPixelY + dh

Note: ne pas modifier Form1.ScaleWidth et Form1.ScaleHeight directement sinon tu ne serais plus en pixels mais en user et de plus la forme aurait toujours la meme taille.

Daniel
3
MoiOlivier Messages postés 172 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 4 août 2005
20 août 2004 à 11:25
Salut,

C'est l'intérieur de ta form qui est en pixel, donc les coordonnées des objets qu'elle contient. Les dimensions de ta feuille elles, sont exprimée en twips puisque ce qui contient ta feuille c'est l'écran.
Donc, pour redimensionner ta feuille, il faut faire :
form1.width=picture1.width * screen.twipsperpixelx
form1.height=picture1.height*screen.twipsperpixely

Bonne prog, @+
0
harddisk Messages postés 54 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 13 mai 2007
20 août 2004 à 13:03
Merci, c'est ca que j'avais oublié. Par contre il y a encore un pb. On ne voit pas l'image en entier dans la hauteur, c'est sans doute a cause de la barre de titre. Comment récupère t-on sa taille?
0
harddisk Messages postés 54 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 13 mai 2007
20 août 2004 à 17:17
Merci beaucoup à vous deux ;)
0
Rejoignez-nous