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 :

TValueListEditor : Avoir des couleurs différentes par rangée


Sujet :

Composants VCL Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2003
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 37
    Points : 34
    Points
    34
    Par défaut TValueListEditor : Avoir des couleurs différentes par rangée
    Bonjour à tous,

    Mon but est d'arriver à insérer des rangées dans un TValueListEditor, mais avec les couleurs de mon choix. Par exemple, je fais un InsertRow pour la première rangée avec une couleur de mon choix, puis même chose pour les autres rangées mais avec des couleurs différentes (toujours de mon choix).

    Je sais que ça se fait avec un TListBox, mais présentement avec un TValueListEditor je ne trouves pas.

    Merci d'avance...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Points : 318
    Points
    318
    Par défaut
    Probablement en utilisant l'évévenement OnDrawCall. Il y a un exemple dans l'aide mais sur ma version l'aide est buggé

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2003
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 37
    Points : 34
    Points
    34
    Par défaut
    Il fallait effectivement utiliser l'événement onDrawCell, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TForm1.vlDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
    begin
      if ARow = 2 then
        vl.Canvas.Font.Color := clRed
      else
        vl.Canvas.Font.Color := clBlack;
     
      if ACol = 0 then
        vl.Canvas.TextOut( Rect.Left, Rect.Top, vl.Keys[ARow] )
      else
        vl.Canvas.TextOut( Rect.Left, Rect.Top, vl.Values[vl.Keys[ARow]] );
     
    end;
    SAUF QUE : TRÈS IMPORTANT!!!

    Mettre la propriété Default Drawing du TValueListEditor à false, sinon les couleurs par défaut sont tout de même affichées.

    Aussi, ceci ne change que la couleur du texte dans les cellules, vous aurez peut-être quelques modifications à apporter dans le code d'affichage tout dépendant des résultats que vous voulez obtenir.

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

Discussions similaires

  1. Avoir un marqueur différent par courbe
    Par captaine93 dans le forum MATLAB
    Réponses: 12
    Dernier message: 17/11/2008, 16h29
  2. [MySQL] Avoir une couleur différente en fonction de l'ordre
    Par lelapinrusse dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/08/2008, 19h50
  3. Réponses: 6
    Dernier message: 18/05/2008, 10h13
  4. Réponses: 2
    Dernier message: 07/06/2007, 16h07
  5. [DTD] Avoir des fils différents
    Par david06600 dans le forum Valider
    Réponses: 2
    Dernier message: 01/12/2005, 15h33

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