Bonjour,
j'aimerais mettre des lignes de séparation dans dans un CheckListBox.
Comment dois-je faire ?
Merci
Bonjour,
j'aimerais mettre des lignes de séparation dans dans un CheckListBox.
Comment dois-je faire ?
Merci
La methode la plus simple serait :
avec bien sur un test qui detecte la selection d'un item pour eviter de pouvoir selectioner cet item ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ComboBox1.Items.add('----------');
CheckListBox1.Style = lbOwnerDrawFixed
CheckListBox1.OnDrawItem = CheckListBox1DrawItem
Je pense que ça devrait fonctionner.
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 procedure TForm1.CheckListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); var BackColor, TextColor : TColor; begin if odSelected in State then begin BackColor := clHighlight; TextColor := clHighlightText; end else begin BackColor := clWindow; TextColor := clBlack; end; with CheckListBox1.Canvas do begin Brush.Color := BackColor; Pen.Color := TextColor; Font.Color := TextColor; TextRect(Rect, Rect.Left, Rect.Top, CheckListBox1.Items[Index]); if LineBelow(Index) then begin MoveTo(Rect.Left, Rect.Top+Rect.Height); LineTo(Rect.Left+Rect.Width, Rect.Top+Rect.Height); end; end; end;
LineBelow est une fonction que tu dois créer qui renvoie True s'il y a une ligne en-dessous de l'item Index.
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
Aussi ;ppp mais c'est un poil plus complexe a utiliser juste pour un aspect graphique sensiblement plus joli ;p
Pour moi c'est une methode a mettre en place si le temps le permet
(mais ce n'est qu'un avis personnel)
MERCI à tous,
J'ai pris la version de sjrd et c'est nickel, merci encore
Partager