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 :

Tlistview : couleur du texte.


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 21
    Par défaut Tlistview : couleur du texte.
    Bonjour,

    je remplis un tlistview. jusque là pas de pb.
    Mais je voudrais ecrire certaines lignes en rouge et d'autres en noir.

    Comment procéder ?

    Merci pour votre aide.

    PS : la listview contient 3 champs (enfin le caption et 2 subitems.) Si le subitems n°1 contient une chaine de caractère vide je voudrais mettre le caption en rouge.

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Bonjour,
    Citation Envoyé par davidmarli Voir le message
    je remplis un tlistview. jusque là pas de pb.
    Mais je voudrais ecrire certaines lignes en rouge et d'autres en noir.

    Comment procéder ?
    Réponse basique mais rarement exploitée :

    Vous auriez trouvé vos réponses...
    Citation Envoyé par davidmarli Voir le message
    PS : la listview contient 3 champs (enfin le caption et 2 subitems.) Si le subitems n°1 contient une chaine de caractère vide je voudrais mettre le caption en rouge.
    Gérez directement les couleurs depuis une méthode appelée par l'évenement OnAdvancedCustomDrawItem.
    Ce qui donne d'après vos hypothèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
      var DefaultDraw: Boolean);
    begin
      if Item.SubItems[0] = '' then
        Sender.Canvas.Font.Color := clRed
      else
        Sender.Canvas.Font.Color := clWindowText;
    end;
    Attention, ce code considère qu'il existe toujours un SubItem pour un Item donné !
    D'autre part, il mérite peut-être d'être amélioré pour répondre parfaitement à votre besoin.

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/01/2007, 22h14
  2. [Tlistview] Couleur de fond et de texte d'une ligne
    Par radimby dans le forum Composants VCL
    Réponses: 8
    Dernier message: 21/12/2005, 10h17
  3. Changer la couleur du texte lors passage souris sur un TD !
    Par Kokito dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/01/2005, 16h40
  4. wxWidgets : couleur de texte sur une seule ligne
    Par Oatly dans le forum wxWidgets
    Réponses: 8
    Dernier message: 05/12/2004, 20h24
  5. [border][panel] couleur du texte
    Par harold63 dans le forum Composants
    Réponses: 3
    Dernier message: 29/06/2004, 16h36

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