Changement de couleur dans un richtextBox

jolatripe Messages postés 8 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 8 septembre 2008 - 18 juil. 2005 à 16:55
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 18 juil. 2005 à 18:21
Je developpe un appli qui effectue des test et qui ecrit dans un rtf le diagnostique suite au test en question.
A chaque test, on peut etre bon, moyen ou pas bon.
Donc a chaque test ca ecrit une ligne de resultat avec une couleur correspondant au resultat vert orange ou rouge.
Le problème c que a chaque nouvelle ligne de test ajouté, la couleur des lignes précédentes est annulée.
je vous remets un bout de code simplifié (y a pas de test ca enchaine juste l'ecriture de ligne de couleurs différentes)

Private Sub button_Click()
diagno.SelColor = vbBlack
diagno.Text = ""





message = "zobby la mouche" & vbCrLf
diagno.Text = diagno.Text & message
diagno.SelStart = Len(diagno.Text) - Len(message)
diagno.SelLength = Len(message)
diagno.SelColor = vbRed





message = "turlute" & vbCrLf
diagno.Text = diagno.Text & message
diagno.SelStart = Len(diagno.Text) - Len(message)
diagno.SelLength = Len(message)
diagno.SelColor = vbYellow





message = "toto en string" & vbCrLf
diagno.Text = diagno.Text & message
diagno.SelStart = Len(diagno.Text) - Len(message)
diagno.SelLength = Len(message)
diagno.SelColor = vbGreen





message = "VIVE LES SCHTROUMPFS" & vbCrLf
diagno.Text = diagno.Text & message
diagno.SelStart = Len(diagno.Text) - Len(message)
diagno.SelLength = Len(message)
diagno.SelColor = vbMagenta





End Sub

c tout simple y a une form1 avec un rtb qui s'appelle diagno et un boutton qui s'appelle button

merci
ca doit etre tout con mais je debute

1 réponse

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
18 juil. 2005 à 18:21
Salut
C'est parce que tu fais
diagno.Text = diagno.Text & message
Tu lui dit d'écrire du texte basique, alors il réinitialise tout, normal.
-1- Essaye en utilisant :
diagno.RTFText = diagno.RTFText & message
( pas sûr du RTFText, cherche)

-2- ou encore :
diagno.SelStart = Len(diagno.Text)
diagno.SelText = message
diagno.SelLength = Len(message)
diagno.SelColor = vbRed

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
0