Einzelnen Beitrag anzeigen

Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#2

Re: Farbe von einzelnen Items einer Listbox ändern

  Alt 24. Mär 2004, 22:15
Hallo,

Soweit ich weiß gehts über den Canvas von der ListBox.
Den Style von der Listbox musst du auf lbOwnerDrawFixed stellen.

Un im OnDrawItem zeichnest du dann das Item selbst:

Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  TopDif: Integer; // Gleicht die Höhendifferenz aus
begin
  with (Control as TListbox) do begin
    Canvas.Brush.Color := clRed; //Hintergrundfarbe
    Canvas.Font.Color := clYellow; //Schriftfarbe

    TopDif := (ItemHeight div 2) - (Canvas.TextHeight(#32) div 2);
    Canvas.TextRect(Rect, Rect.Left, Rect.Top + TopDif, Items[Index]);
  end;
end;
grüße, daniel
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat