OVH Cloud OVH Cloud

RchTextBox

4 réponses
Avatar
Shewy80
Bonjour à tous
J'ai un soucis avec mon RichTextBox.
Le boolean de ma fonction pour le soulignement ne fonctionne pas sur la prem
itération.
Il me souligne le second mot au lieu du 1er

Voici ma fonction:
----------------------------------------------------------------------------
-----------------------------------------------------------
Public Sub AjoutRTFTxt(Texte As String, Optional Gras As Boolean = False,
Optional Couleur As Long = 0, Optional soul As Boolean = False)
With RichTextBox1
.SelStart = Len(.Text)
.SelBold = Gras
.SelColor = Couleur
.SelText = Texte
.SelUnderline = soul
.SelStart = Len(.Text)
End With
End Sub
----------------------------------------------------------------------------
-----------------------------------------------------------

Voici mon appel de fonction :
(C'est un exemple, pour illustrer le bug)

Call AjoutRTFTxt("Liste des mots" & vbCrLf, True, vbRed, True)

Call AjoutRTFTxt("test" & vbCrLf, True, vbRed, False)

Call AjoutRTFTxt("Liste des mots" & vbCrLf, True, vbRed, True)

Call AjoutRTFTxt("test" & vbCrLf, True, vbRed, False)




Vous remarquerez que la premier n'est pas souligné, le second oui, le
suivant non etc ...
alors que l'appel envoi bien True pour le soulignement, et false pour les
autres.

Pourquoi ce décallage ???
QQ1 peut il m'ecpliquer ??

4 réponses

Avatar
ng
Salut,

Je n'ai pas testé mais essaye ceci :

Public Sub AjoutRTFTxt(Texte As String, Optional Gras As Boolean = False,
Optional Couleur As Long = 0, Optional soul As Boolean = False)
With RichTextBox1
.SelStart = Len(.Text)
.SelBold = Gras
.SelColor = Couleur
.SelUnderline = soul
.SelText = Texte
.SelStart = Len(.Text)
End With
End Sub



--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Shewy80 wrote:
Bonjour à tous
J'ai un soucis avec mon RichTextBox.
Le boolean de ma fonction pour le soulignement ne fonctionne pas sur
la prem itération.
Il me souligne le second mot au lieu du 1er

Voici ma fonction:
----------------------------------------------------------------------------
-----------------------------------------------------------
Public Sub AjoutRTFTxt(Texte As String, Optional Gras As Boolean > False, Optional Couleur As Long = 0, Optional soul As Boolean = False)
With RichTextBox1
.SelStart = Len(.Text)
.SelBold = Gras
.SelColor = Couleur
.SelText = Texte
.SelUnderline = soul
.SelStart = Len(.Text)
End With
End Sub
----------------------------------------------------------------------------
-----------------------------------------------------------

Voici mon appel de fonction :
(C'est un exemple, pour illustrer le bug)

Call AjoutRTFTxt("Liste des mots" & vbCrLf, True, vbRed, True)

Call AjoutRTFTxt("test" & vbCrLf, True, vbRed, False)

Call AjoutRTFTxt("Liste des mots" & vbCrLf, True, vbRed, True)

Call AjoutRTFTxt("test" & vbCrLf, True, vbRed, False)




Vous remarquerez que la premier n'est pas souligné, le second oui, le
suivant non etc ...
alors que l'appel envoi bien True pour le soulignement, et false pour
les autres.

Pourquoi ce décallage ???
QQ1 peut il m'ecpliquer ??


Avatar
Shewy80
ça marche nikel !!
Alors là je suis surpris .....
Tu peux m'expliquer pkoi, le fait d'inverser ces 2 lignes changent tout ??
> .SelText = Texte
> .SelUnderline = soul





"ng" a écrit dans le message de
news:
Salut,

Je n'ai pas testé mais essaye ceci :

Public Sub AjoutRTFTxt(Texte As String, Optional Gras As Boolean = False,
Optional Couleur As Long = 0, Optional soul As Boolean = False)
With RichTextBox1
.SelStart = Len(.Text)
.SelBold = Gras
.SelColor = Couleur
.SelUnderline = soul
.SelText = Texte
.SelStart = Len(.Text)
End With
End Sub



--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Shewy80 wrote:
> Bonjour à tous
> J'ai un soucis avec mon RichTextBox.
> Le boolean de ma fonction pour le soulignement ne fonctionne pas sur
> la prem itération.
> Il me souligne le second mot au lieu du 1er
>
> Voici ma fonction:

--------------------------------------------------------------------------


--
> -----------------------------------------------------------
> Public Sub AjoutRTFTxt(Texte As String, Optional Gras As Boolean > > False, Optional Couleur As Long = 0, Optional soul As Boolean = False)
> With RichTextBox1
> .SelStart = Len(.Text)
> .SelBold = Gras
> .SelColor = Couleur
> .SelText = Texte
> .SelUnderline = soul
> .SelStart = Len(.Text)
> End With
> End Sub

--------------------------------------------------------------------------


--
> -----------------------------------------------------------
>
> Voici mon appel de fonction :
> (C'est un exemple, pour illustrer le bug)
>
> Call AjoutRTFTxt("Liste des mots" & vbCrLf, True, vbRed, True)
>
> Call AjoutRTFTxt("test" & vbCrLf, True, vbRed, False)
>
> Call AjoutRTFTxt("Liste des mots" & vbCrLf, True, vbRed, True)
>
> Call AjoutRTFTxt("test" & vbCrLf, True, vbRed, False)
>
>
>
>
> Vous remarquerez que la premier n'est pas souligné, le second oui, le
> suivant non etc ...
> alors que l'appel envoi bien True pour le soulignement, et false pour
> les autres.
>
> Pourquoi ce décallage ???
> QQ1 peut il m'ecpliquer ??




Avatar
Shewy80
Ah ok !!

Merci bcp pour cet explication : j'ai tout compris...
Avatar
Patrice Henrio
Lorsque Underline est vrai, cela va souligner ce qui est sélectionné ou ce
qui va s'écrire si rien n'est sélectionné.
Donc si tu écris avant de modifier underline, ce que tu écris aura la
propriété Underline précisée avant.