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 :

Item en couleur dans un ListView


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 62
    Points
    62
    Par défaut Item en couleur dans un ListView
    Bonjours à tous !
    je me demandais si était possible de mettre un seul item en couleur dans un ListView.
    Voilà mon bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        for(int i= 1;i<CompteurItem;i++)
        {
        TListItem *Item =MaListe->ListView1->Items->Add();
        Item->Caption=ListeItem->Strings[i];
             if(strcmp(ListeItem->Strings[i].c_str(),"tomate")==0)
            {
                     AnsiString Index ="Item trouvé - ligne : ";
                     Index =Index +i;
                     MaListe->StatusBar1->Panels->Items[1]->Text =Index;
     
                     //Mettre l'item trouvé en rouge
     
            }

  2. #2
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Voici un petit bout de code permettant de colorer une ligne sur deux dans un TListView. Il suffit de compléter l'évènement OnCustomDrawItem (en laissant OwnerDraw à false)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender,
          TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
    {
        if( (Item->Index%2)) //on colorie les élément pairs
          ((TListView*)Sender)->Canvas->Brush->Color = clYellow ;
        else
          ((TListView*)Sender)->Canvas->Brush->Color = clWhite ;
    }
    La même chose pour colorer une cellule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender,
          TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
    {    
        if( (Item->Caption  == "tomate" )) 
          ((TListView*)Sender)->Canvas->Brush->Color = clRed ;
        else
          ((TListView*)Sender)->Canvas->Brush->Color = clWhite ;
    }
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 62
    Points
    62
    Par défaut
    merci, simple et efficace !

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

Discussions similaires

  1. Mettre des items en couleur dans un combo box
    Par wrm8787 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/03/2009, 06h53
  2. Un item multi ligne dans un listView
    Par DarkLeon dans le forum Windows Forms
    Réponses: 10
    Dernier message: 02/03/2009, 18h17
  3. Items en couleur dans une listBox
    Par xx_FiFty_xx dans le forum Windows Forms
    Réponses: 3
    Dernier message: 04/06/2008, 13h25
  4. Certaines lignes en couleur dans un ListView en VB6
    Par kaspar dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 18/01/2006, 15h00
  5. [C#] Probleme de couleur dans une ListView
    Par Oberown dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/12/2005, 17h39

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