IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Help :Problème de clignotement


Sujet :

Composants VCL Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Help :Problème de clignotement
    Salut,

    Je travaille sur un système de karaoké.

    Pour cela,J'ai écrit des fonctions de coloriage de mots et de ligne pour un composant RichEdit.

    Je dois suivre le texte lu a partir d'un fichier son et le synchronisé avec le texte ecrit dans le Richedit. Je fais cela avec des timers.

    Mon prob est le suivant : Le richedit clignote pas mal car je lui applique assez frequemment mes fonctions de coloriage.

    Quelqu'un saurait-il empecher ce clignotement ? J'ai essayé avec un HideCaret mais ca ne marche pas.

    En mettant un fond noir, on ne voit plus le clignotement du richedit, mais c'est la solution de facilité qui ne me convient pas.


    Merci de me proposer votre aide.
    Mouche qui pète n'amasse pas mousse
    cv

  2. #2
    Membre émérite
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Points : 2 883
    Points
    2 883
    Par défaut
    Le richedit n'est pas vraiment étudié pour ce genre de chose.
    Le mieux est d'écrire sur une zone graphique (tpainbox par ex) le texte, au fur et à mesure.
    De toute façon un karaoké çà n'affiche pas 100 lignes de textes formattées avec des listes à puce et autre fioritures, juste 1 ou 2 lignes de texte en gros (en général) donc ...

  3. #3
    FWS
    FWS est déconnecté
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Une astuce consiste à placer le RichEdit sur un TPanel et d'inverser la propriété Enabled du TPanel.

    Cordialement.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 69
    Points : 77
    Points
    77
    Par défaut
    Tu peux essayer d'activer la propriété DoubleBuffered du TRichEdit (si elle existe) ou bien du composant sur lequel est le TRichEdit (Form, Panel)
    Mes programmes : www.antp.be/software/fr/

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Ca clignote toujours !
    Aedium a écrit
    Une astuce consiste à placer le RichEdit sur un TPanel et d'inverser la propriété Enabled du TPanel.
    J'ai essayé. C'est catastrophique ! Plus aucun texte ne veut s'afficher dans le RichEdit !

    antp a écrit
    Tu peux essayer d'activer la propriété DoubleBuffered du TRichEdit
    J'ai essayé. Ca ne fait strictement rien de mieux. Et en plus je suis en train de réaliser un composant à part entière alors pas question de greffé un TPanel derrière mon composant héritant de la classe TRichEdit.


    Merci de m'aider, c'est pas mon fort les problèmes de scintillement.

    Mouche qui pète n'amasse pas mousse
    cv

  6. #6
    FWS
    FWS est déconnecté
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Ce n'est pas la solution complète mais c'est déjà une piste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.RichEdit1Change(Sender: TObject);
    begin
      HideCaret(RichEdit1.handle);
    end;
    Bonne continuation.

  7. #7
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Et avec les propriétés BeginUpdate et EndUpdate qui permettent de stoper la mise à jour de l'affichage durant les modifications ?

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/09/2006, 12h02
  2. Problème de clignotement sous IE
    Par Gunn_ dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 20/07/2006, 11h02
  3. Réponses: 2
    Dernier message: 29/03/2005, 14h25
  4. Problème de clignotement de fond d'écran en mode MDI
    Par Tardiff Jean-François dans le forum Composants VCL
    Réponses: 3
    Dernier message: 17/12/2004, 16h19
  5. help!! problème de compatibilité ascendante
    Par valfredr dans le forum XMLRAD
    Réponses: 5
    Dernier message: 16/06/2003, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo