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 :

Couleur pour element d'une Checklistbox


Sujet :

Composants VCL Delphi

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 69
    Points
    69
    Par défaut Couleur pour element d'une Checklistbox
    Bonjour

    Le sujet donne déja mon problème.
    voila je voudrais lorsque j'ai une liste à case à cocher que les les éléments cocheés soit par exemble en rouge.

    Comment faut-il procéder.

    Merci de vos réponses.
    A+

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    il te faut intercepter l'evenement OnDrawItem, et definir la couleur de la font a rouge si l'item que tu souhaites dessiner est checké. Si tu fais cela tu devras egalement mettre la propriete Style de ta checklistbox a lbOwnerDrawFixed.

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 69
    Points
    69
    Par défaut
    re

    j'ai essaye l'evenement OnDrawItem j'ai une erreur de transcodage et le texte ne s'affiche pas

    Voici mon code dans une autre procedure à l'endroit ou je mets la coche
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
      While not Q_Chrono.Eof
             do begin
                K := Q_ChronoCodClass.Value;
                If Q_ChronoCodCourrier.Value = 'A'
                then begin
                       for I := 0 to CLB_Classe_Act.Items.Count - 1 do
                       begin
                         if integer(CLB_Classe_Act.items.objects[I]) = K
                         then begin
                              CLB_Classe_Act.Checked[I] := True;
     
                          {à cet endroit je voudrais le texte en raouge
                            //  CLB_Classe_Act.Font.Color := clred; }
     
                              end;
                       end;
                     end
                else begin
                       for I := 0 to CLB_Classe_Info.Items.Count - 1 do
                       begin
                         if integer(CLB_Classe_Info.items.objects[I]) = K 
                       then  begin
                                 CLB_Classe_Info.Checked[I] := True
     
                             {à cet endroit je voudrais le texte en Bleu
                            //  CLB_Classe_Info.Font.Color := clBlue; }
     
                                  end;
                       end;
                     end;
                Q_Chrono.Next
    Merci

  4. #4
    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
    Il faut utiliser OnDrawItem, voila un exemple à modifier

    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
    procedure TFormProfilSelect.ListBoxProfilDrawItem(Control: 
    TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
    begin
        with Control as TCheckListBox do
        begin
            Canvas.FillRect(Rect);
     
            // Mettre en gras checked
            if Checked[Index] then
                Canvas.Font.Style := [fsBold]
            else
                Canvas.Font.Style := [];
     
            Canvas.TextOut(Rect.Left + 2, Rect.Top, Items[Index]);
        end;
    end;

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 69
    Points
    69
    Par défaut
    Merci beaucoup sutout a CpDump

    C'est absolument ce que je voulais
    Ce forum est formidable
    A charge de ravanche
    A+
    et bon développement à tous

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

Discussions similaires

  1. TAG pour chaque element d'une TListBox
    Par ftoutin dans le forum Delphi
    Réponses: 10
    Dernier message: 16/04/2007, 13h06
  2. Besoin d' Aide pour Redimensionnement des element dans une fenetre
    Par kry55 dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 11/12/2006, 12h05
  3. Réponses: 3
    Dernier message: 01/06/2006, 09h49
  4. [CSS] largeur fixe pour les elements d'une liste
    Par arnolpourri dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 24/05/2006, 13h25
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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