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

C++Builder Discussion :

Texte defilant - empecher clignotement


Sujet :

C++Builder

  1. #1
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut Texte defilant - empecher clignotement
    Salut,

    J'essai désespérément de faire un texte défilant "correct" !
    Pour l'instant, je fais tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void __fastcall TForm1::Timer1Timer(TObject *Sender)
    {
        Label1->Left -= 1;
        if ((Label1->Left + Label1->Width) < 0)
            Label1->Left = Form1->Width;
    }
    Ca fonctionne très bien, le texte défile, mais vu qu'il doit se redessiner souvent, il a un clignotement qui n'est pas agréable du tout.
    Quelqu'un saurait-il comment atténuer (voire supprimer) le clignotement ???

    Merci.

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Il y a une autre solution que le Left, tu met le Label sur toute la longueur de ta form (puisque vu ton code c'est la taille de ton défilement), tu met la propriété Alignment à taCenter, et enfin tu met ce code dans ton timer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    AnsiString texte ;
    texte = Label->Caption ;
    texte += texte[1] ;
    texte.Delete(1,1) ;
    Label->Caption = texte ;
    si jamais ton texte n'est pas plus grand que la taille de ta form, tu complete par des espaces de facon à ce que ta chaine prenne toute la longueur de la Form.

  3. #3
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    OK merci pour ta réponse!
    Je vais essayer

    > EDIT : ce n'est pas vraiment ce que je cherche en fait. Je préfèrerai déplacer le label, mais en empêchant ce *!¤ù¤##@* de clignotement.

  4. #4
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Salut,
    On peut essayer aussi en mettant la propriété DoubleBuffered de la TForm sur laquel sont les objects a true lors du OnActivate ou OnCreate de la TForm...
    @ +

  5. #5
    Membre expérimenté Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Par défaut
    genial le coup du double buffer. (c'est comme en opengl)

  6. #6
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Je suis en train de regarder de ce côté la !
    Merci pour l'info du double buffer

    > EDIT : Ca marche nikel. Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Texte Defilant dans la barre
    Par franck.automaticien dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/06/2006, 09h24
  2. Animation text defilent
    Par argon dans le forum 2D
    Réponses: 17
    Dernier message: 26/04/2006, 10h19
  3. Configuration Texte defilant
    Par Matgic95 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/02/2006, 02h21
  4. Texte defilant
    Par gilles641 dans le forum MFC
    Réponses: 2
    Dernier message: 04/07/2005, 19h37
  5. text defilant
    Par adilou1981 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/02/2005, 20h00

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