Einzelnen Beitrag anzeigen

toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#1

Listbox färbt komisch ein

  Alt 25. Sep 2008, 15:19
ich weiss ein viel diskutiertes Thema. dennoch komm ich auch nach dem Studium von x threads hier im Forum nicht weiter.
in meiner Listbox möchte ich ausgewählte Einträge einfärben.

habe die listboxdrawitem procedure wie folgt angepasst:

Delphi-Quellcode:
procedure Tmainform.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with (control as TListBox) do
  begin
    if Index = 2 then //bei best. Zeile soll folgendes gelten
    begin
      Canvas.Brush.Color := clRed;
      Canvas.Pen.Color := clWhite;
      Canvas.Rectangle(Rect);
    end;
    Canvas.TextOut(Rect.Left + 1, Rect.Top + 1, Items[Index]);
  end;
end;
der richtige Eintrag wird zwar auch richtig eingefärbt, jedoch ziemlich "verstümelt" - bei allen anderen zeilen habe ich nur noch das Wort des Eintrags markiert und gefärbt. Der Rest ist ein komischer Rahmen und alle sein bisschen schief. Ich weiss nicht wie ich das beschreiben soll?!

habe bei der Listbox eingestellt: lbOwnerDrawFixed

Die Einträge fülle ich normal mit listbox.items.add ein.

kann mir einer sagen warum das so komisch aussieht?
  Mit Zitat antworten Zitat