kciope
Messages postés20Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention 7 août 2009
-
15 mai 2008 à 08:01
cs_ABF
Messages postés227Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention26 avril 2012
-
23 nov. 2010 à 16:27
Bonjour tout le monde,
Je sollicite votre aide concernant l'utilisation de richtextbox. J'ai
fais une fonction qui doit changer la couleur d'une partie de mon texte
dans ma RTB :
ma fonction :
<!-- BEGIN TEMPLATE: bbcode_code -->
Code :
<!--[if !IE]><--><!----><!--[endif]--><!--[if IE]>
<![endif]-->PublicFunction changecouleur(ByVal rtb As RichTextBox, ByVal chaineatrouver AsString, ByVal Lcolor As System.Drawing.Color)
Dim longeurchaine AsInteger = Microsoft.VisualBasic.Len(chaineatrouver)
Dim debutchaine AsInteger = rtb.Find(chaineatrouver, RichTextBoxFinds.MatchCase)
'on fait un saut de ligne pour les prochaines lignes
rtb.Text = rtb.Text & vbCrLf
rtb.Focus()
'on selectionne la chaine a colorier
rtb.Select(debutchaine, longeurchaine)
rtb.SelectionColor = Lcolor
rtb.DeselectAll()
'on place le curseur a la fin
rtb.SelectionStart = rtb.Text.Length
EndFunction
<!-- END TEMPLATE: bbcode_code -->Jusque là ca va, quand je fais appel
a ma fonction ca marche j'ai mon texte en couleur, mais si j'appel a
nouveau ma fonction avec un nouveau texte, seul cette nouvelle chaine
est colorée. L'autre revient en noire.
kciope
Messages postés20Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention 7 août 2009 15 mai 2008 à 16:44
Ca y est j'ai trouvé voici ma nouvelle fonction :
Public Function changecouleur(ByVal t As ArrayList, ByVal rtb As RichTextBox, ByVal chaineatrouver As String, ByVal Lcolor As System.Drawing.Color)
Dim longeurchaine As Integer
Dim debutchaine As Integer
'on fait un saut de ligne pour les prochaines lignes
rtb.Text = rtb.Text & vbCrLf
Dim item As String
t.Add(chaineatrouver) 'on ajoute la chaine dans le tableau
'rtb.SelectedText = vbCrLf
For Each item In t
'MsgBox("item debut : " & item)
longeurchaine = Microsoft.VisualBasic.Len(item)
debutchaine = rtb.Find(item, RichTextBoxFinds.MatchCase)
rtb.Select(debutchaine, longeurchaine)
rtb.SelectionColor = Lcolor
rtb.DeselectAll()
Next
'on place le curseur a la fin
rtb.SelectionStart = rtb.Text.Length
rtb.Focus()
End Function
et j'ai créer un variable dans mon module :
Public arrayimg, arrayvideos As New ArrayList() 'declaration des array pour qu'il soit accessible a tous le programme
cs_ABF
Messages postés227Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention26 avril 2012 23 nov. 2010 à 16:27
Bonsoir,
J'ai testé ce bout de code et, lorsque l'on fait un del, enter, fleche... du clavier, ou lorsque l'on click au milieu du texte pour le modifier, le curseur est figé. y'a t'il une solution ?