Ich benutze Delphi XE-3. Ich möchte zu Farbe oder Schriftart eines einzelnen Elements in einer Checkliste ändern. Ist das möglich?Schriftart oder Farbe eines bestimmten Checklistbox Items ändern?
5
A
Antwort
10
Sie müssen die Eigentümerzeichnung für Ihre Checkliste verwenden. Setzen Sie die Eigenschaft Style
Ihres Prüflistenfelds auf lbOwnerDrawFixed
und schreiben Sie den Handler für das Ereignis OnDrawItem
. In diesem Event-Handler können Sie etwas wie folgt verwenden:
procedure TForm1.CheckListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
Flags: Longint;
begin
with (Control as TCheckListBox) do
begin
// modifying the Canvas.Brush.Color here will adjust the item color
case Index of
0: Canvas.Brush.Color := $00F9F9F9;
1: Canvas.Brush.Color := $00EFEFEF;
2: Canvas.Brush.Color := $00E5E5E5;
end;
Canvas.FillRect(Rect);
// modifying the Canvas.Font.Color here will adjust the item font color
case Index of
0: Canvas.Font.Color := clRed;
1: Canvas.Font.Color := clGreen;
2: Canvas.Font.Color := clBlue;
end;
Flags := DrawTextBiDiModeFlags(DT_SINGLELINE or DT_VCENTER or DT_NOPREFIX);
if not UseRightToLeftAlignment then
Inc(Rect.Left, 2)
else
Dec(Rect.Right, 2);
DrawText(Canvas.Handle, Items[Index], Length(Items[Index]), Rect, Flags);
end;
end;
Hier ist das Ergebnis des obigen Beispiels:
+6
Dies deckt nicht den Status des Objekts ab (wenn es fokussiert ist) , ausgewählt oder nicht) und ignoriert VCL-Stile. – TLama
Verwandte Themen
- 1. Farbe eines bestimmten Schlüsselworts in RubyMine ändern
- 2. Ändern der Farbe eines bestimmten Diagramms Punkt
- 3. Animieren ändern Schriftart eines UILabel
- 4. Ändern der Farbe eines bestimmten Index in einer Tabelle
- 5. Ändern Schriftart Schriftart Text
- 6. Ändern Sie den Hintergrund eines bestimmten Präferenzelements
- 7. Wie man die Farbe der Schriftart awesome Symbole ändern
- 8. Swift Schriftart und Farbe der Zurück-Taste ändern
- 9. Schriftart ändern
- 10. Benutzerdefinierte CheckListBox Honor 2 Spalten
- 11. CIImage: Farbe eines bestimmten Pixels einstellen
- 12. die Farbe in Mathjax oder MathML Ändern
- 13. Xrandr Fehler. BadName (benannte Farbe oder Schriftart existiert nicht)
- 14. Set andere Schriftart und Farbe, um einen Teil eines Textview
- 15. WPF: Ändern der Schriftart aller Steuerelemente in einem bestimmten Container
- 16. UITextField Schriftart nicht ändern
- 17. MessageBox.Show-- Schriftart ändern?
- 18. Wie ändern Sie die Farbe eines UIFont?
- 19. SKAction die Farbe eines SKShapeNode ändern
- 20. Farbe ändern eines Ankers, wenn darauf geklickt
- 21. Ändern Sie die Farbe eines Schalters
- 22. Ändern der Farbe eines Linientrennzeichens in Cocoa
- 23. Ändern Sie die Farbe eines StaticText, wxPython
- 24. Ändern der Farbe eines Hemdes Bild
- 25. GTK: Ändern bg Farbe eines Checkbutton
- 26. Ändern der Farbe eines Hintergrunds mit Highcharts.js
- 27. Glyphen nur von bestimmten Schriftart
- 28. DataBound CheckListBox programmatisch prüfen
- 29. einfache checklistbox Vergleich
- 30. Javascript - Ändern der Schriftfarbe eines bestimmten Textes in Textfeld
oder Simulation CheckListBox Witz h3rd-Party-Steuerelemente wie VTW –
Ähnliche/duplizieren zu http : //stackoverflow.com/questions/8563508/how-do-i-draw-the-selected-list-box-item-in-a-different-color –