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 :

Comment changer la couleur d'un item d'une listBox? [FAQ]


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 141
    Points : 43
    Points
    43
    Par défaut Comment changer la couleur d'un item d'une listBox?
    Bonjour...

    Dans mon code je souhaite afficher dans une listBox cetaine ligne en rouge comment dois-je faire?

    J'ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      listBox.Items.color;
    mais je sais pas si c'est ca car je n'arrive pas a la préciser la couleur...

  2. #2
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Salut

    1) tu mets la propriété Style de ta ListBox à lbOwnerDrawFixed

    2) tu codes l'évènement OnDrawItem. comme suit :
    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
    16
    17
    18
    19
    procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
    begin
      with(Control as TListBox).Canvas do  {Le dessin se fait sur le canevas du contrôle,pas dans la fiche }
        begin
        //on choisi les couleurs en fonction de l'index
        if Index=1 then
        begin
           //fond
           Brush.Color:=clRed;
           //police
           Font.Color:=clYellow;
        end;
        FillRect(Rect);{efface le rectangle }
        //dessin du texte
        TextOut(Rect.Left,Rect.Top,(Control as TListBox).Items[Index]){affiche le texte }
     
      end;
    end;
    Bon dev
    Bidouilleuse Delphi

  3. #3
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 141
    Points : 43
    Points
    43
    Par défaut
    Mais ca ne vas pas car tu dois spécifier le numéro de l'item hors moi je ne sais pas a l'avance qu'elle item sera en rouge ou en noir (ca résulte d'un test sur une variable)

  4. #4
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par Mickey.jet
    Mais ca ne vas pas car tu dois spécifier le numéro de l'item hors moi je ne sais pas a l'avance qu'elle item sera en rouge ou en noir (ca résulte d'un test sur une variable)
    Mais si ça va (tu vas voir, on va y arriver), c'est la seule et unique solution, mais c'est adaptable... surtout la ligne :
    Ce que je t'ai donné, c'est un exemple, pour montrer, grosso-modo comment on fait, pas ce que tu vas avoir au final.

    Bien sur qu'on peu la remplacer par ton test, reste à savoir quel test détermine la coloration, on est pas devin sur DVP
    Bidouilleuse Delphi

Discussions similaires

  1. [XL-2007] Comment changer les couleurs d'un graph avec une macro?
    Par abfabulous dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/02/2013, 12h43
  2. Changer la couleur d'un item d'une listbox
    Par gryffondor8392 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/05/2011, 11h12
  3. Réponses: 3
    Dernier message: 02/06/2010, 04h46
  4. Récupérer la couleur d'un item d'une listbox
    Par Michelk12 dans le forum C#
    Réponses: 1
    Dernier message: 07/04/2009, 13h24

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