steph42160
Messages postés18Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 octobre 2006
-
30 janv. 2006 à 15:50
steph42160
Messages postés18Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 octobre 2006
-
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
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 30 janv. 2006 à 16:35
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
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 30 janv. 2006 à 16:10
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)