Duke49
Messages postés552Date d'inscriptionjeudi 12 octobre 2006StatutNon membreDernière intervention24 janvier 2023
-
28 mars 2009 à 21:28
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 2013
-
28 mars 2009 à 22:10
Coucou,
J'ai d'un coté une Form1 et de l'autre Form2.
Elles ont les mêmes propriétés (scalemode=pixel).
Sur Form1 j'ai mon label1.width = 110 (tout va bien)
Je copie le label et la colle sur Form2, label1.width = 1650 (???)
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 28 mars 2009 à 21:37
Rien d'anormal je pense.
J'expliquerais cela par le fait que le label est copié avec comme largeur 110, pas 110 pixels mais 110 sans unité. L'unité étant définie par celle de l'écran.
Or leur du collage, la valeur de la largeur doit probablement être interprétée dans l'unité par défaut soit 110 twips. Comme l'unité de l'écran est en pixel, cette largeur est donc convertie en pixel soit 1650 pixels, 1 twips étant généralement égal à 15 pixels.
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 28 mars 2009 à 22:10
Bonsoir,
1) si ta form1 est en échelle de pixels, la largeur 110 de ton label est également en pixels.
2) chez moi, le copier-coller d'un tel label sur une Form2 également en échelle de pixels aboutit exactement à la même largeur (110 pixels), ce qui me parait logique et normal.
3) il est maintenant clair que si ton copier-coller se fait d'une Form1 en échelle de Pixels vers une PictureBox en échelle de Twips (bien qu'insérée sur une Form2 en échelle de pixels (comme Form1), la largeur du label ainsi inséré sera exprimée en unités (twips) du container final (la PictureBox) et non en unités de la Foirm2 (c'est même là le propre d'une pictureBox !...et heureusement !)
Et (bien entendu) pour un écran dont le nombre de twips par pixel horizontalement est de 15 (cas, aujourd'hui, de la quasi totalité des écrans) ===>>> 110 x 15 = 1650.