OVH Cloud OVH Cloud

VB6 TextBox

25 réponses
Avatar
Armando RODRIGUES
Bonjour,

est il possible d'auto-redimensionner un TextBox en fonction de l'évolution
du contenu ?

Merci pour vos réponses.

5 réponses

1 2 3
Avatar
Jacques93
François Picalausa a écrit :
On 3月3日, 午前1:44, Jacques93 wrote:
C'est l'avantage des newbies comme toi et Jean-Marc.



Je m'excuse mais c'est trop de compliments, je crois : Je rédige 100%
de mes réponses dans les newsgroups globalement à l'aide de Chr$(Rnd
()). La connaissance ultime joue dans la connaissance du bon seed pour
Randomize. Je reste par contre étonné que les URL pointent réellement
vers les bons sujets!




La chance des débutants ? ;-)

--

Cordialement,

Jacques.
Avatar
driss hanib
Salut Steph

au lieu de faire le malin et le prétentieux, passe autant de temps que Jean
Marc, François, Jacques et quelques autres à repondre au qurestions.
Parce que tes remarques à la c.. tu peux les garder : je préfère les
"newbies" comme eux qui se mouillent que des péteux qui ne servent à rein
sur ce NG
Alors tu n'étais pas présent avant : à la limite passe ton chemin et va
frimer ailleurs.

Driss

PS Jean Pierre peut suivre : si pas d'exemples, pas d'intérêt .


"Steph" a écrit dans le message de news:
goefi9$83l$
David wrote:

Vu votre statut de MVP votre réaction est inappropriée.



"MVP" n'est absolument pas un "statut" :-)
C'est un attrape-nigaud inventé par MS pour réduire les budgets de support
technique, en faisant croire à des newbies qu'ils sont des "méga-pros" en
cirant les chaussures et flattant l'ego pour inciter à participer. Et ça
marche...
(et je sais de quoi je parle, puisqu'ils m'avaient proposé, mais ayant
assez de recul et d'expérience et voyant le tas de nuls qu'il y a dans ce
programme, je ne suis pas tombé dans le panneau.)
Il y a même des MVP "jeux vidéo", MSN, .... c'est dire le
"Professionalisme" :-)))


Avatar
driss hanib
Salut Jean Marc

laisse tomber ces Dieux du vent : ils parlent beaucoup mais avec aucune
solution.

Continue à aider les super Newbies que nous sommes; laisse les faire leur
philosophie à la petite semaine.
Tu sais : la culture c'est comme la confiture..

Amicalement

Driss

a écrit dans le message de news:

On 3 mar, 01:44, Jacques93 wrote:

Hello Jacques,

Alors que les pros, ben ils sont nés avec le 'SAVOIR', et les méga-pro
avec la 'CONNAISSANCE ULTIME'.



Et oui, on ne peut que se prosterner humblement devant eux: leur
savoir est immense et en plus ils n'hésitent jamais à nous le faire
partager en toute modestie. La profondeur d'analyse dont ils font
preuve dans chacun de leurs posts, la puissance qui se dégage de leurs
contributions est telle qu'on en reste sans voix. J'en veux simplement
pour preuve une des dernières contributions dont nous avons eu
l'insigne honneur d'être les témoins ébahis : "ca se fait aves les
api.".

Quand on a lu ça, on a tout lu; le reste est vain...

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

tu as raison, je regarde ce post le 9 mars et toujours rien
Tu sais : les chiens qui aboient le plus fort ce sont ceux qui mordent le
moins.

Jean pierre et Steph les illustres inutiles sur le NG

Grande G et petit z..
Amicalement,

Driss

"parci" a écrit dans le message de news:
%
Jacques93 a écrit :
Bonjour Armando RODRIGUES,
Armando RODRIGUES a écrit :
Bonjour,

est il possible d'auto-redimensionner un TextBox en fonction de
l'évolution du contenu ?




Quelques pistes :

1 - Utiliser le propriété AutoSize d'un contrôle Label caché
' --------------------------------------------------------
Private Sub Form_Load()
With Me.Label1
.Visible = False
.Font = Me.Text1.Font
.Font.Size = Me.Text1.Font.Size
.Font.Bold = Me.Text1.Font.Bold
.Font.Italic = Me.Text1.Font.Italic
End With
End Sub

Private Sub Text1_Change()
Me.Label1.Caption = Me.Text1.Text
Me.Text1.Width = Me.Label1.Width
Me.Text1.Height = Me.Label1.Height
End Sub

' --------------------------------------------------------
2 - ou bien utiliser l'API 'GetTextExtentPoint32'

<http://msdn.microsoft.com/en-us/library/dd144938(VS.85).aspx>

' --------------------------------------------------------
Private Type SIZEL
cx As Long
cy As Long
End Type

Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _
"GetTextExtentPoint32A" ( _
ByVal hdc As Long, _
ByVal lpsz As String, _
ByVal cbString As Long, _
lpSize As SIZEL) As Long

Private Sub Text1_Change()
Dim lResult As Long
Dim sz As SIZEL

lResult = GetTextExtentPoint32(Me.hdc, Me.Text1.Text, _
Len(Me.Text1.Text), sz)
Me.Text1.Width = sz.cx * Screen.TwipsPerPixelX
Me.Text1.Height = sz.cy * Screen.TwipsPerPixelY
Fin:
End Sub

' --------------------------------------------------------

Cette API nécessitant un hDC, (dans l'exemple précedent, celui de la
feuille, mais on pourrait aussi utiliser un PictureBox) il faut que la
police et les attributs du hDC soient identiques à ceux du Textbox.

3 - ou se passer de l'API
Mais les contrôles VB disposant d'un hDC (Form, PictureBox, Printer)
proposent également les propriétés TextWidth et TextHeight qui renvoient
les mêmes informations que l'API; la seule différence tient au fait que
l'API renvoie des pixels, et les propriétés TextWidth et TextHeight des
Twips. L'utilisation de l'API n'est donc pas indispensable.



C'est exact et un test le montre facilement d'ailleurs. Mais si ça semble
correct pour la hauteur, pour la largeur ça dépend de la taille de la
police (et ça ne fonctionne vraiment bien qu'avec une taille de 8 ou 10).
Mais je ne doute pas que Jean-Pierre et d'autres nous expliquent comment
le faire professionnellement.


Avatar
Jean-marc
driss hanib wrote:
Salut Jean Marc



Hello Driss :-)

laisse tomber ces Dieux du vent : ils parlent beaucoup mais avec
aucune solution.



Il y a bien longtemps que ma religion est faite à ce sujet !

Continue à aider les super Newbies que nous sommes; laisse les faire
leur philosophie à la petite semaine.



Sans problème !

Tu sais : la culture c'est comme la confiture..



Ils en sont la preuve en image :-)

Amicalement



Bien cordialement aussi,


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