Vu votre statut de MVP votre réaction est inappropriée.
Vu votre statut de MVP votre réaction est inappropriée.
Vu votre statut de MVP votre réaction est inappropriée.
La propriété AutoSize d'un contrôle Label, c'est ce que j'utilise
actuellement mais comme je disais plus haut ça manque de précision et en plus
si j'efface des caractères le contrôle TextBox ne diminue pas.
La propriété AutoSize d'un contrôle Label, c'est ce que j'utilise
actuellement mais comme je disais plus haut ça manque de précision et en plus
si j'efface des caractères le contrôle TextBox ne diminue pas.
La propriété AutoSize d'un contrôle Label, c'est ce que j'utilise
actuellement mais comme je disais plus haut ça manque de précision et en plus
si j'efface des caractères le contrôle TextBox ne diminue pas.
Armando RODRIGUES avait prétendu :La propriété AutoSize d'un contrôle Label, c'est ce que j'utilise
actuellement mais comme je disais plus haut ça manque de précision et
en plus si j'efface des caractères le contrôle TextBox ne diminue pas.
As-tu fixé la propriété Alignement de text1 à RightJustify ?
J'ai testé ce petit bout de code (c'est la même chose que ce que propose
Jacques) mais avec le +255 qui donne un espace supplémentaire au text1
de façon à ne pas masquer un caractère. Fonctionne très bien.
Private Sub Form_Load()
Label1.Caption = ""
Text1 = ""
Text1.Width = Label1.Width
End Sub
Private Sub Text1_Change()
Label1.Caption = Text1
Text1.Width = Label1.Width + 255
End Sub
Armando RODRIGUES avait prétendu :
La propriété AutoSize d'un contrôle Label, c'est ce que j'utilise
actuellement mais comme je disais plus haut ça manque de précision et
en plus si j'efface des caractères le contrôle TextBox ne diminue pas.
As-tu fixé la propriété Alignement de text1 à RightJustify ?
J'ai testé ce petit bout de code (c'est la même chose que ce que propose
Jacques) mais avec le +255 qui donne un espace supplémentaire au text1
de façon à ne pas masquer un caractère. Fonctionne très bien.
Private Sub Form_Load()
Label1.Caption = ""
Text1 = ""
Text1.Width = Label1.Width
End Sub
Private Sub Text1_Change()
Label1.Caption = Text1
Text1.Width = Label1.Width + 255
End Sub
Armando RODRIGUES avait prétendu :La propriété AutoSize d'un contrôle Label, c'est ce que j'utilise
actuellement mais comme je disais plus haut ça manque de précision et
en plus si j'efface des caractères le contrôle TextBox ne diminue pas.
As-tu fixé la propriété Alignement de text1 à RightJustify ?
J'ai testé ce petit bout de code (c'est la même chose que ce que propose
Jacques) mais avec le +255 qui donne un espace supplémentaire au text1
de façon à ne pas masquer un caractère. Fonctionne très bien.
Private Sub Form_Load()
Label1.Caption = ""
Text1 = ""
Text1.Width = Label1.Width
End Sub
Private Sub Text1_Change()
Label1.Caption = Text1
Text1.Width = Label1.Width + 255
End Sub
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.
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.
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.
Merci les gags, toutes ces infos m'ont bien aidait et je dois avouer, Ã §a
marche assez bien. Toutes fois, j'ai encore un petit problème à régler et
pour cela faudrait que je puisse connaitre le nombres de pixels qui utili se
un caractère d'une certaine police à écran. Existe il un m oyen ? merci
encore.
Merci les gags, toutes ces infos m'ont bien aidait et je dois avouer, Ã §a
marche assez bien. Toutes fois, j'ai encore un petit problème à régler et
pour cela faudrait que je puisse connaitre le nombres de pixels qui utili se
un caractère d'une certaine police à écran. Existe il un m oyen ? merci
encore.
Merci les gags, toutes ces infos m'ont bien aidait et je dois avouer, Ã §a
marche assez bien. Toutes fois, j'ai encore un petit problème à régler et
pour cela faudrait que je puisse connaitre le nombres de pixels qui utili se
un caractère d'une certaine police à écran. Existe il un m oyen ? merci
encore.
On 3月2日, 午後7:03, "Armando RODRIGUES" wrote:Merci les gags, toutes ces infos m'ont bien aidait et je dois avouer, ça
marche assez bien. Toutes fois, j'ai encore un petit problème à régler et
pour cela faudrait que je puisse connaitre le nombres de pixels qui utilise
un caractère d'une certaine police à écran. Existe il un moyen ? merci
encore.
Hello,
Si je puis me permettre, une relecture approfondie (i.e. en consultant
la documentation afférente) des posts précédents serait utile! Un post
précédent de Jacques93 indique comment obtenir la taille d'un texte
avec différentes méthodes (et notament TextWidth -
http://msdn.microsoft.com/en-us/library/aa267168(VS.60).aspx - qui n'a
pas besoin de Declare pour se rendre "pro").
On 3月2日, 午後7:03, "Armando RODRIGUES" <arto...@free.fr> wrote:
Merci les gags, toutes ces infos m'ont bien aidait et je dois avouer, ça
marche assez bien. Toutes fois, j'ai encore un petit problème à régler et
pour cela faudrait que je puisse connaitre le nombres de pixels qui utilise
un caractère d'une certaine police à écran. Existe il un moyen ? merci
encore.
Hello,
Si je puis me permettre, une relecture approfondie (i.e. en consultant
la documentation afférente) des posts précédents serait utile! Un post
précédent de Jacques93 indique comment obtenir la taille d'un texte
avec différentes méthodes (et notament TextWidth -
http://msdn.microsoft.com/en-us/library/aa267168(VS.60).aspx - qui n'a
pas besoin de Declare pour se rendre "pro").
On 3月2日, 午後7:03, "Armando RODRIGUES" wrote:Merci les gags, toutes ces infos m'ont bien aidait et je dois avouer, ça
marche assez bien. Toutes fois, j'ai encore un petit problème à régler et
pour cela faudrait que je puisse connaitre le nombres de pixels qui utilise
un caractère d'une certaine police à écran. Existe il un moyen ? merci
encore.
Hello,
Si je puis me permettre, une relecture approfondie (i.e. en consultant
la documentation afférente) des posts précédents serait utile! Un post
précédent de Jacques93 indique comment obtenir la taille d'un texte
avec différentes méthodes (et notament TextWidth -
http://msdn.microsoft.com/en-us/library/aa267168(VS.60).aspx - qui n'a
pas besoin de Declare pour se rendre "pro").
Alors que les pros, ben ils sont nés avec le 'SAVOIR', et les méga-pr o
avec la 'CONNAISSANCE ULTIME'.
Alors que les pros, ben ils sont nés avec le 'SAVOIR', et les méga-pr o
avec la 'CONNAISSANCE ULTIME'.
Alors que les pros, ben ils sont nés avec le 'SAVOIR', et les méga-pr o
avec la 'CONNAISSANCE ULTIME'.
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_' ;
On 3 mar, 01:44, Jacques93 <jacques@Nospam> 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_' ; _no_spam_jean_marc_n2@yahoo.fr
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_' ;
C'est l'avantage des newbies comme toi et Jean-Marc.
C'est l'avantage des newbies comme toi et Jean-Marc.
C'est l'avantage des newbies comme toi et Jean-Marc.