cs_cosmic
Messages postés61Date d'inscriptionmercredi 30 octobre 2002StatutMembreDernière intervention16 mai 2005
-
1 déc. 2002 à 18:46
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 2016
-
1 déc. 2002 à 21:03
Slt.
J'ai besoin de votre aide parce que je voudrais que mon textbox sache reconnaitre si il y a des commentaire type visual basic et qu'il le mette en vert comme visual basic.
Voila ce que moi j'ai ecrit: (soyez indulgent je suis débutant)
Private Sub Text1_Change()
If Left(Text1.Text, 1) = "'" Then
Text1.ForeColor = vbGreen
Else
Text1.ForeColor = vbBlack
End If
End Sub
le principe de ce code est que dès qu'il y a le signe ' devant un phrase il colorise en vert le text, mais le problème c'est qu'il colorise le text du textbox en entier et que le signe ' ne fontionne seulement que sur la première ligne du textbox
merci de votre aide...
cs_Cerber
Messages postés31Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention 5 décembre 2002 1 déc. 2002 à 20:50
Salut,
Tu ne peux pas avec un textbox, utilise plutot un richtextbox, c'est plus compliqué car il faut connaitre le codage rtf mais c'est le seul moyen à ma connaissance.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 1 déc. 2002 à 21:03
Il faut utiliser le RichTextBox :
r est un RichTextBox avec Multiline = false
Private Sub r_Change()
On Error Resume Next
Dim x As Long, st As Long, l As Long
x = InStr(r.Text, "'") - 1
If x = -1 Then
st = r.selstart
r.selstart = 0
r.SelLength = Len(r.Text)
r.SelColor = vbBlack
r.selstart = st
r.SelLength = 0
End If
If x > 0 Then
l = InStr(x, r.Text, vbCrLf)
st = r.selstart
r.selstart = xIf l > 0 Then r.SelLength l Else r.SelLength Len(r.Text) - x
r.SelColor = vbGreen
r.selstart = st
r.SelLength = 0
End If
End Sub