TextBox Autosize ? [Résolu]

Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
- - Dernière réponse : cs_Exploreur
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
- 7 févr. 2007 à 19:53
Bonsoir à tous,

Une petite question pour savoir si cela est possible .....
Est-il possible de faire, via du code Vb ou d'utiliser les API de windows, d'avoir la possibilté d'une fonction AutoSize d'un TextBox comme un Label ?

Merci par avance de vos réponses qui peuvent me mettre sur la voie...

A+
Exploreur
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
32
3
Merci
bizarre que tu sois passé à côté, tu y as laissé un comm ^^

le code donnera juste çà :

With AfSize
    .Font = Text1.Font
    .Text = Text1.Text    If .Calculate Then Text1.Width .Width: Text1.Height .Height
End With

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 139 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
32
3
Merci
exact
regarde dans Cmd_Calculate_Click(), certaines particulatités....

ici le code sera donc :

Private Sub Command1_Click()
    Text4.Text =  Format$(195654654823.24, "### ### ### ###.###") & "
?"
    
    With AfSize
        .Font = Text4.Font
        .Text = Text4.Text
        If .Calculate Then
            Text4.Width = .Width * Screen.TwipsPerPixelX + 120
            Text4.Height = .Height * Screen.TwipsPerPixelY + 120
        End If
    End With
End Sub

<small>Coloration
syntaxique automatique [AFCK] </small>
       
(120 pour les bordures)
++
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 139 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PCPT
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
112
1
Merci
une bidouille qui en vaut une autre : mettre le texte de ton textbox dans un label autosize temporaire puis appliquer la taille du label au textbox...
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
24
0
Merci
Pas de propriété Autosize.

Tu as par contre toujours la possibilité de dimensionner une textbox en fonction de la hauteur et de la largeur du texte qu'elle contient...
La chose est certes réalisable, mais je ne suis pas certain de ce que l'effet sera heureux !

Il te faudra de toutes façons choisir (bien évidemment) entre les 2 affichages suivants :

1)  Textbox d'une largeur égale à celle de la ligne la plus large de ton texte et d'une hauteur égale à celle de ton texte
2) Textbox d'une largeur inférieure à celle de la ligne la plus large et dont la hauteur devra être telle que la totalité du texte devra être affichée

Tout est bien sur réalisable avec une petite acrobatie, mais cette acrobatie sera différente dans un cas et dans l'autre.

Quelle est donc l'option choisie ?
Commenter la réponse de jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
24
0
Merci
Une 3ème option :

Textbox d'une largeur égale à celle de la ligne la plus large mais hauteur à "dérouler"
Commenter la réponse de jmfmarques
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
16
0
Merci
Bonsoir Jmfmarques et Darksidious,

Merci de vos réponses...

Jmfmarques >> Je vais plutôt opter pour la solution de Darksidious, que me parait simple à mettre en oeuvre..

Merci encore à vous deux..

A+
Exploreur
Commenter la réponse de cs_Exploreur
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
32
0
Merci
salut,
4e solution, mesurer le texte proprement et suivre l'exemple ici ^^

++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
16
0
Merci
Salut PCPT,


Lol...Le pire dans tout cela...c'est que ta source je l'avais télécharger !!! Impossible de retrouver le Zip!!!Alors quand tu commence à avoir pas mal de Zip, ben moi je commence à ne plus savoir qui est quoi !!!!Il faut que je fasse du ménage sur mon Pc!!
Mais c'est vrai que ta source et  très intéressante,  pour l'instant j'utilise la solution de Darksidious, et je reviendrai en détails sur la tienne(car il faut que je regarde le code à fond!!!) que je viens de télécharger à nouveau.Mais cette fois-ci, je lui est donné un nom plus parlant : Autosize_chaine_Carractère_PCPT.Zip !!!


Merci d'avoir répondu..

A+
Exploreur
Commenter la réponse de cs_Exploreur
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
16
0
Merci
Salut,


Oui je sais j'ai laissé un commentaire, mais je t'explique pourquoi ci-dessus.
Non c'est pas bizarre, il faut juste que je répertorie les sources télécharger avec un nom plus parlant!!


A+
Exploreur


 


 
Commenter la réponse de cs_Exploreur
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
16
0
Merci
Salut PCPT,

Bon je viens de regarder ton code, et il y a un truc qui fonctionne pas comme dans ta source...J'explique :
Ma zone de text est de ce format là : Text4.Text = Format$(Total, "### ### ### ###.###") & " ?"

Donc je reprend ton code,
With AfSize
    .Font = Text4.Font
    .Text = Text4.Text    If .Calculate Then Text4.Width .Width: Text4.Height .Height
End With

Et là ça par en live, je me retrouve avec une TextBox de la taille d'une CheckBox, j'ai changé la police, le format du text, la taille...Idem...Je ne comprend pas pourquoi..

A+
Exploreur
Commenter la réponse de cs_Exploreur
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
16
0
Merci
Salut PCPT,

Ben...PARFAIT...

A+
Exploreur
Commenter la réponse de cs_Exploreur

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.