Changer la couleur d'un texte automatiquement

cs_mpc Messages postés 15 Date d'inscription lundi 26 janvier 2004 Statut Membre Dernière intervention 27 mars 2007 - 28 janv. 2004 à 17:38
cs_mpc Messages postés 15 Date d'inscription lundi 26 janvier 2004 Statut Membre Dernière intervention 27 mars 2007 - 24 févr. 2005 à 21:10
je fais défiler un texte automatiquement. Je souhaite changer la couleur de ce texte mot par mot et ce de manière automatique. Pouvez-vous m'aider?
Merci
mp

7 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 janv. 2004 à 17:46
Tout dépend de quels contrôles tu utilise !

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
cs_mpc Messages postés 15 Date d'inscription lundi 26 janvier 2004 Statut Membre Dernière intervention 27 mars 2007 1
28 janv. 2004 à 18:01
en fait, je suis ok pour n'importe quel contrôle: texte ou label ou autre si c'est plus facile!
merci
mp
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 janv. 2004 à 18:22
Le plus simple, pour faire de la coloration mot à mot, c'est soit d'utiliser un contrôle Label par mot avec une couleur différente pour chaque mot, soit d'utiliser un contrôle RichTextBox grâce à ses propriétés SelColor pour faire de la coloration mot à mot, ou alors, passer par des fonctions de tracé de texte (Fonction Print de VB ou DrawText en fonction API), et à ce moment là, un PictureBox fait très bien l'affaire !

A toi de voir selon ton expérience de VB et selon le temps de recherche que tu peux y consacrer. Note : je pense avoir classé les possibilités par ordre croissant de difficulté, mais également par ordre croissant d'optimisation !

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
cs_mpc Messages postés 15 Date d'inscription lundi 26 janvier 2004 Statut Membre Dernière intervention 27 mars 2007 1
28 janv. 2004 à 20:06
merci beaucoup pour ton aide. J'ai réussi à colorer mon texte par mot mais cela donne un effet saccadé. J'aurais voulu avoir un effet plus fluide comme dans un karaoké. Je vais continuer à chercher parmi les pistes que tu m'as indiquées.
mp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 janv. 2004 à 20:25
Tout dépend de la méthode que tu as choisie : avec un timer relativement rapide, ca va clignoter avec les labels !
Avec un timer lent, ca va saccader avec toutes les méthodes que je t'ai donné !
L'idéal serait d'utiliser les fonctions API, mais c'est la méthode la plus compliqué à mettre en oeuvre !

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
cs_rallyman Messages postés 1 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 24 février 2005
24 févr. 2005 à 17:11
pourrait tu me dire comment tu as fait car je n'y arrive pas merci
0
cs_mpc Messages postés 15 Date d'inscription lundi 26 janvier 2004 Statut Membre Dernière intervention 27 mars 2007 1
24 févr. 2005 à 21:10
Bonsoir,

je n'ai pas vraiment réussi à faire ce que je voulais (j'ai fini par renoncer) mais je t'envoie ce que j'ai fait. en fait, j'ai un texte qui défile continuellement et je change la couleur 10 lettres à la fois.
voici le code du timer:
Private Sub Timer1_Timer()
rt1.Text = Right(rt1.Text, Len(rt1.Text) - 1) & Left(rt1.Text, 1)
rt1.Span "-", True, True
rt1.SelStart = rt1.SelStart + 1
rt1.SelLength = 10
rt1.SelColor = vbRed

End Sub

les 2 1ères lignes servent à faire défiler le texte (je ne sais plus pourquoi j'ai utilisé cela !!) et le reste sert à changer la couleur.
Voilà, j'espère que cela répond à ta question.

mp
0
Rejoignez-nous