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+
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+
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.
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
Merci
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
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;
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager