Inserer du text RTF dans RichTextBox

Fermé
cs_watcha2020 Messages postés 9 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 31 mai 2007 - 31 mai 2007 à 10:00
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 - 4 juil. 2014 à 19:12
Bonjour à tous,

je cherche tout simplement à inserer du texte au format Rtf à la fin d'une RichTextBox.
j'arrive tres bien à inserer mais je n'arrive pas à rajouter (genre AppendText
).

La méthode la plus évidente (Rtb.rtf += data) ne fonctionne pas.
comment puis je faire?

merci d'avance
 

10 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
31 mai 2007 à 10:03
Salut,
Tu dois utiliser la méthode AppendText.... c'est tout

<hr />
-Blog-
0
cs_watcha2020 Messages postés 9 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 31 mai 2007
31 mai 2007 à 10:12
merci c'est la première chose que j'ai testé ;)

Le pb c'est que le texte affiché n'est pas formatté et me donne un joli
{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fnil\fcharset0 Georgia;}}
\viewkind4\uc1\pard\i\f0\fs20 bonjour\par
}
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
31 mai 2007 à 10:14
En fait j'ai la ta question trop vite...
Si tu veux ajouter du RTF, tu dois bien utiliser la property RTF. Le problème, c'est que quand tu fais le get, il te retourne un string qui se termine par '}', si tu lui ajoutes quelques choses, ça ne sera donc pas pris en compte (c'est pour ça que le += ne fonctionne pas).
Si tu fais un remove pour supprimer le caractère de fin, et qu'ensuites tu ajoutes ton texte, ça marche mais je ne suis pas certain que ça soit la meilleure solution...

<hr />
-Blog-
0
cs_watcha2020 Messages postés 9 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 31 mai 2007
31 mai 2007 à 10:48
le pb c'est que je peux avoir un style identique ou différent pour chacun des textes insérés.
je ne comprend pas que cela ne soit pas possible !!!!!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
31 mai 2007 à 11:00
Tu peux ajouter du plain texte (avec AppendText), et ensuite appeler les méthodes SelectionXXX() pour mettre le texte ajouté en forme.... (couleur, font, etc)

<hr />
-Blog-
0
cs_watcha2020 Messages postés 9 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 31 mai 2007
31 mai 2007 à 11:17
dc est ce que ca veux dire que je suis obligé de parser ma chaine (citée ci dessus) récupérer la police, couleur , taille .. et faire

      With RTB_Chat
                    .SelectionStart = Len(.Rtf)
                    .SelectionFont = New Font("Arial", 13, FontStyle.Bold)
                    .SelectionColor = Color.Black
                    .AppendText("Mon Texte")
                    .AppendText(vbCrLf)
                End With

mais en c#
ca me paraissait si simple !!
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
31 mai 2007 à 11:38
Soit tu insères le plain texte et ensuite tu appelles les fonctions de mise en page comme je t'ai expliqué ci-dessus, soit tu ajoutes directement le RTF avec la property RTF. Dans ce cas, il faudra épurer le string de la richtextbox avant de faire ton ajout (+=) comme je te l'ai aussi indiqué ci-dessus.
Autres solution à éventuellement explorer: Travailler avec un stream en mémoire, puis ensuite faire un LoadFile(myStream, ...)

Je ne vois pour le moment pas d'autres solutions...

<hr />
-Blog-
0
survcopt Messages postés 224 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 13 mai 2022 3
1 juin 2007 à 07:34
Tu vas surement trouver ton bonheur ici car il y a tout la
http://www.codeproject.com/cs/miscctrl/csexrichtextbox.asp

www.survey-copter.com
0
cs_perlerose Messages postés 1 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 13 décembre 2009
13 déc. 2009 à 03:48
oui pour moi je propose que cette fonction apparait plus compliquée en C# d'ailleurs le format de RTF est trop compliqué ; parexemple pour les couleur il faut donner le pourcentge en couleur de bases et aussi
_rTBox1.Rtf =@"{\rtf1\ansi This text is in \b bold\b0.}"; pour écrire This text is in blond avec blond est en gras c'est à peu près le HTML (langage de balise)

rose_lait
0
Xmahefa Messages postés 1 Date d'inscription vendredi 4 juillet 2014 Statut Membre Dernière intervention 4 juillet 2014
4 juil. 2014 à 15:44
j'ai fait ça est c'est OK
this.richTextBox1.Rtf = @"{\rtf1\ainsi voici un \b gras\bo ok}";
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 656
4 juil. 2014 à 19:12
Bonjour, le fil a 7 ans et ta réponse est hors sujet, comme celle de perleros d'ailleurs la demande initiale et d'ajouter un texte avec un format spécifique à un texte existant avec un autre format.
Je ferme donc ce post.
0
Rejoignez-nous