Surligner mot d un texte [Résolu]

steph42160 18 Messages postés vendredi 19 novembre 2004Date d'inscription 30 octobre 2006 Dernière intervention - 30 janv. 2006 à 15:50 - Dernière réponse : steph42160 18 Messages postés vendredi 19 novembre 2004Date d'inscription 30 octobre 2006 Dernière intervention
- 30 janv. 2006 à 21:36
Salut amis développeurs!!
j'aurais une petite question a vous poser. J'aimerais réalise une appli qui surligne un texte mot a mot suivant un timer.Ce texte provient d un fichier texte et peut etre dans un label ou un textbox.
Mon gros problème est de pouvoir surligner un mot ou mettre en gras ou changer la couleur de la police du mot.
Si vous avez une solution ou une idée prévenez moi!!
merci.
salut
Afficher la suite 

3 réponses

bouv 1424 Messages postés mercredi 6 août 2003Date d'inscription 29 juin 2011 Dernière intervention - 30 janv. 2006 à 16:35
+3
Utile
Sur une feuille, met un TextBox nommé Text1 et un Timer nommé Timer1.
Met le Timer en False

Et copie le code suivant dans la feuille

Dim sTexte() As String 'Pour stocker le texte découpé
Dim iCurrent As Integer 'Pour savoir à quel mot on en est
Dim iPosition As Integer 'Pour sauvegarder la dernière position du curseur


Private Sub Form_Load()
'On met un texte dans la TextBox
Text1.Text = "Salut amis développeurs !! j 'aurais une petite question a vous poser. J'aimerais réalise une appli qui surligne un texte mot a mot suivant un timer. Ce texte provient d un fichier texte et peut etre dans un label ou un textbox. Mon gros problème est de pouvoir surligner un mot ou mettre en gras ou changer la couleur de la police du mot. Si vous avez une solution ou une idée prévenez moi !! merci."
'On decoupe le Texte pour recuperer tout les mots
ReDim sTexte(0)
sTexte = Split(Text1.Text, " ")
'On parametre le Timer
Timer1.Interval = 300
Timer1.Enabled = True
End Sub


Private Sub Timer1_Timer()
iCurrent = iCurrent + 1 If iCurrent UBound(sTexte) + 1 Then Timer1.Enabled False
Call Surligner(sTexte(iCurrent - 1), Text1, iPosition)
End Sub


Public Sub Surligner(Mot As String, TexteBox As TextBox, Optional Position_Mini As Integer = 1)
Dim i As Integer If Position_Mini 0 Then Position_Mini 1
i = InStr(Mid$(TexteBox.Text, Position_Mini), Mot)
If i = 0 Then Exit Sub
TexteBox.SelStart = i - 1 + Position_Mini - 1
TexteBox.SelLength = Len(Mot)
iPosition = i - 1 + Position_Mini
End Sub


Bonne prog
++
Cette réponse vous a-t-elle aidé ?  
NHenry 14134 Messages postés vendredi 14 mars 2003Date d'inscription 23 avril 2018 Dernière intervention - 30 janv. 2006 à 16:10
0
Utile
Bonjour

les TextBox ou les labels ne peuvent ahir que sur tous le texte, utilise plutot un RichTextBox.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
steph42160 18 Messages postés vendredi 19 novembre 2004Date d'inscription 30 octobre 2006 Dernière intervention - 30 janv. 2006 à 21:36
0
Utile
Merci bouv de ta reponse qui marche très bien.
Pile ce dont j avais besoin!
a+

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.