Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Label

2 réponses
Avatar
Patrice Henrio
J'ai constaté un problème sur le contrôle Label lorsque les propriétés
Autosize et WordWrap sont à TRUE. Chaque fois que l'on affecte la propriété
Caption, la largeur augmente de 2 pixels. Il suffit de passer WordWrap à
FALSE pour que tout rentre dans l'ordre.
De plus si on introduit des VbCrLf aux changements de lignes, le contrôle
s'affiche bien sur plusieurs lignes même avec WordWrap à FALSE..

2 réponses

Avatar
Jean-marc
Patrice Henrio wrote:

Hello,

J'ai constaté un problème sur le contrôle Label lorsque les propriétés
Autosize et WordWrap sont à TRUE. Chaque fois que l'on affecte la
propriété Caption, la largeur augmente de 2 pixels.



Il faudrait plus de précisions, je ne parvient pas à faire quelque chose
d'anormal.


Il suffit de
passer WordWrap à FALSE pour que tout rentre dans l'ordre.



Il faudrait un exemple concret.

De plus si on introduit des VbCrLf aux changements de lignes, le
contrôle s'affiche bien sur plusieurs lignes même avec WordWrap à
FALSE..



Oui ça c'est normal!

Le WORDWRAP est fait pour dire au label de passer à la ligne quand il
n'y a PAS de CRLF, c'est précisément le but...

Quand on met des CRLF, pas besoin de WordWrap, puisque dans ce cas on
force explicitement le passage à la ligne...


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Patrice Henrio
"Jean-marc" a écrit dans le message
de news: 46a642ca$0$13859$
Patrice Henrio wrote:

Hello,

J'ai constaté un problème sur le contrôle Label lorsque les propriétés
Autosize et WordWrap sont à TRUE. Chaque fois que l'on affecte la
propriété Caption, la largeur augmente de 2 pixels.



Il faudrait plus de précisions, je ne parvient pas à faire quelque chose
d'anormal.


Il suffit de
passer WordWrap à FALSE pour que tout rentre dans l'ordre.



Il faudrait un exemple concret.

De plus si on introduit des VbCrLf aux changements de lignes, le
contrôle s'affiche bien sur plusieurs lignes même avec WordWrap à
FALSE..



Oui ça c'est normal!

Le WORDWRAP est fait pour dire au label de passer à la ligne quand il
n'y a PAS de CRLF, c'est précisément le but...

Quand on met des CRLF, pas besoin de WordWrap, puisque dans ce cas on
force explicitement le passage à la ligne...


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/




Donc un label Label1
avec Autosize=True et WordWrap=True
Label1.caption = "azer" (ou simplement label1="azer" car je crois que
caption est la propriété par défaut)
Debug.print Label1.width me renvoie par exemple 25
Label1.caption="a"
Non seulement l'autosize ne marche pas mais en plus Label1.width vaut 27.
(dans une forme avec scalemode=vbPixels)

En fait avec ta réponse je vois bien que ces deux paramètres sont
antagonistes. Le premier (Autosize) demande au Label de prendre une largeur
suffisante pour s'afficher, le deuxième (WordWrap) dit de laisser la largeur
inchangée et de poursuivre l'affichage sur la ligne suivante. Il serait
quand même préférable de ne pas pouvoir sélectionner les deux à True.