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 :

Comment obtenir une couleur clignotante dans un TStringGrid ?


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Points : 474
    Points
    474
    Par défaut Comment obtenir une couleur clignotante dans un TStringGrid ?
    Bonjour à tou(te)s

    Qqn saurait-il comment affecter une couleur clignotante à la propriété Canvas.Brush.Color d'une stringgrid?
    Sans passer par la solution du timer associé à l'événement ondrawcell...

  2. #2
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    sans timer peut etre mais obligatoir dans ondrawcells
    pour remplassé le timer tu doit utlisé un TApplicationevent dnas la bar des composant "supplément"
    voir onidle de ce composant, j'ai déjà vu un example qui l'utlise

  3. #3
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    regarde: http://216.239.59.104/custom?q=cache...hl=fr&ie=UTF-8
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
       { Initialisation des coordonnées du sprite }
        Randomize; // Pour ne pas tomber à chaque fois sur les mêmes valeurs
        with FSpritePos do
        begin
          { Le sprite démarrera dans le coin haut-gauche de l'écran }
          Coords.X:= 0;
          Coords.Y:= 0;
          Speed.X:= Random(10) + 1; // il se déplacera de 1 à 10 pixels par image
          Speed.Y:= Random(10) + 1;
        end;
     
        { Nous branchons un gestionnaire d'événement sur l'événement OnIdle de }
        { l'application }
        Application.OnIdle:= DrawImage;
    L'initialisation des coordonnées du sprite ne présente pas de difficultés. En revanche, vous êtes peut-être surpris par l'utilisation de l'événement OnIdle de l'application. Celui-ci est déclenché à chaque fois que l'application passe au "repos", c'est-à-dire qu'aucun événement clavier ou souris n'est reçu. Alors, comment pouvons nous l'utiliser pour dessiner nos images ? Grâce à une petite subtilité : la procédure associée reçoit un argument appelé Done. Celui-ci déclaré en var peut donc être modifié par le code de la procédure. Il indique au code de l'application que la procédure n'a pas terminé ses traitements. L'application va donc rappeler celle-ci jusqu'à ce que Done soit égal à True. Nous allons utiliser cette astuce pour créer une "pompe à image". A chaque appel, nous tracerons l'image et demanderons à DirectX de l'afficher. Nous fixerons donc Done à False afin que l'application appelle notre procédure indéfiniment. Les messages seront tout de même traités par le code appelant ce qui nous permet d'éviter de coder une boucle de messages ou d'appeler Application.ProcessMessages à tour de bras, ce qui serait néfaste à la vitesse de notre animation.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/09/2006, 14h51
  2. Réponses: 10
    Dernier message: 16/05/2006, 14h13
  3. comment obtenir une date dans une storeproc?
    Par Dnx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/10/2005, 15h19
  4. Comment donne une couleur a une ligne dans un DBGrid
    Par samy84s dans le forum Composants VCL
    Réponses: 5
    Dernier message: 14/09/2005, 23h22

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