GDI : Couper un texte trop long [Résolu]

cs_Yxion 219 Messages postés jeudi 6 juillet 2006Date d'inscription 7 septembre 2009 Dernière intervention - 25 sept. 2007 à 13:42 - Dernière réponse : cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention
- 25 sept. 2007 à 19:37
Bonjour tous le monde,

J'aimerais savoir s'il existe une méthode dans GDI pour tronquer un texte trop long :
J'ai un texte à écrire dans un controle d'une certaine taille où j'y dessine du texte d'une longueur variable.

Je connais la méthode pour mesurer la longueur du texte (MesureString je crois) de l'objet de dessin Graphics, mais j'aimerais couper mon texte trop long pour y mettre trois petits points à la place.

Je pensais faire un truc un peu brut qui aurait été une boucle retirant un caractère jusqu'à ce que la chaine loge... mais ca ne me plait pas.

Si c'est la seule manière de procéder, je procèderais, mais ça m'étonne un peu de rien trouver pour faire ca...

Merci de votre aide

NB : Très joli cette nouvelle interface, j'adore le changement... sauf que C# est mis à la fin , il aurait du être mis juste à coté de CS

<hr />I love .net
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 25 sept. 2007 à 16:41
3
Merci
Salut,

StringFormat sf = new StringFormat( );
sf.FormatFlags = StringFormatFlags.NoWrap;
sf.Trimming = StringTrimming.EllipsisWord;


g.DrawString( s, this.Font, Brushes.Black,
    new RectangleF( 10.0f, 10.0f, 100.0f, 100.0f ), sf );

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Lutinore
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 25 sept. 2007 à 14:55
0
Merci
Salut,
Je ne crois pas que cette fonction existe, perso je l'ai toujours codée moi-même...
C'est juste quelques lignes hein :)

<hr />
-My Blog-
Commenter la réponse de cs_Bidou
cs_Yxion 219 Messages postés jeudi 6 juillet 2006Date d'inscription 7 septembre 2009 Dernière intervention - 25 sept. 2007 à 15:01
0
Merci
En fesant une boucle qui retire un caractère jusqu'à ce que ca loge ?

<hr />I love .net
Commenter la réponse de cs_Yxion
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 25 sept. 2007 à 15:09
0
Merci
Euh je me rappelle plus par coeur, mais directement comme ça à froid je ne vois pas d'autres solutions...

<hr />
-My Blog-
Commenter la réponse de cs_Bidou
cs_Yxion 219 Messages postés jeudi 6 juillet 2006Date d'inscription 7 septembre 2009 Dernière intervention - 25 sept. 2007 à 16:51
0
Merci
Merci... j'avais bien regardé la dedans, mais pas assez, en plus le EllipsisWord est vraiment mieux que ce que je voulais faire.

Une grand merci
<hr />I love .net
Commenter la réponse de cs_Yxion
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 25 sept. 2007 à 19:37
0
Merci
Ha tiens oui, je n'y avais même pensé.
Merci aussi  

<hr />
-My Blog-
Commenter la réponse de cs_Bidou

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.