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

Delphi Discussion :

Scintillement lors du déplacement d'un TImage


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de naute
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2009
    Messages : 708
    Par défaut Scintillement lors du déplacement d'un TImage
    Bonjour,

    pour les besoins de mon application, je dois faire défiler un TImage contenant un texte, écrit à l'aide de la méthode "textOut", du bas vers le haut sur l'écran en faisant varier sa propriété .top dans un évènement "onTimer". Tout fonctionne comme il faut mais il se produit un scintillement gênant lors du déplacement.
    Y a-t'il un moyen de remédier à ce problème? (et, si oui, lequel)

    J'utilise, ici, Delphi 2005 (Turbo Delphi) sous Windows 7.

    Merci, à bientôt,

    Naute.

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    bascule la propriété DoubleBuffered de la fiche à True
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Rédacteur

    Avatar de naute
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2009
    Messages : 708
    Par défaut
    Bonjour,

    merci pour ta réponse.

    Je viens de la mettre en œuvre, mais le scintillement est toujours là. Comme c'est une fiche MDIChild, j'ai également mis la propriéte de la MDIForm à "True", à tout hasard (je ne connais pas le mécanisme), mais sans résultat.

    Y a-t'il une autre piste?

    Cordialement,

    naute?

  4. #4
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    un petit bout de code ? que fait le Timer ? simplement modifier Image1.Top ? la fiche est-elle le parent direct de l'image ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Rédacteur

    Avatar de naute
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2009
    Messages : 708
    Par défaut
    Re,

    voici le petit bout de code concerné.

    Pour la fiche fsMDIForm "Base" qui contient la fiche enfant "Affichage", propriétaire du TImage "Afficheur":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    TBase = class(TForm)
      ...
    Defilement: TTimer;
      ...
    implementation
      ...
    procedure TBase.DefilementTimer(Sender: TObject);
    //Incrémente la "Position" de "TBCurseur" (TrackBar) se trouvant dans la fiche "Afficheur"
    begin
    Affichage.TBCurseur.Position := Affichage.TBCurseur.Position +1;
    end;


    Pour la fiche fsMDIChild "Affichage", dans laquelle défile le TImage "Afficheur":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    TAffichage = class(TForm)
      ...
    Afficheur: TImage;
    TBCurseur: TTrackBar;
    PanneauAffichage: TPanel
      ...
    implementation
      ...
    procedure TAffichage.TBCurseurChange(Sender: TObject);
    begin
      AFFicheur.Top := -TBCurseur.Position + PanneauAffichage.Height div 2;
    end;

    Le TImage "Afficheur" est contenu dans le TPanel "PanneauAffichage".

    Merci pour ton coup de main,

    cordialement, naute.

    Edit: Ta remarque concernant le parent direct du TImage m'a donné l'idée de mettre la propriété DoubleBuffered du TPanel parent à "True". Pas mieux.

  6. #6
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    est-ce que sous 2005 TPanel a déjà la propriété ParentBackground ? si oui passe là à False.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

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

Discussions similaires

  1. Eviter le scintillement lors du rafraîchissement
    Par netsabes dans le forum Delphi
    Réponses: 9
    Dernier message: 11/05/2007, 16h26
  2. Réponses: 5
    Dernier message: 22/09/2006, 14h19
  3. Eviter le scintillement lors de manip css avec javascript...
    Par MasterOfChakhaL dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/04/2006, 20h11
  4. [Image] scintillement lors déplacement sur autre composant
    Par lilou77 dans le forum Interfaces Graphiques en Java
    Réponses: 21
    Dernier message: 07/12/2005, 09h27
  5. [TForm] Problème lors du déplacement d'une fenêtre sans barre de titre
    Par Benjamin GAGNEUX dans le forum Composants VCL
    Réponses: 3
    Dernier message: 14/10/2004, 17h10

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