Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Zeile einer ListBox einfärben

  Alt 19. Mär 2006, 07:23
Zitat von ghost007:
... kann man die einträge oberhalb von der 5ten zeile nicht lesen =/
Hai ghost007,

das liegt an einem kleinen Fehler im Code von Matze
Da sein .TextOut innerhalb des Blocks mit der IF-Abfrage steht wird das Item nur für die fünfte Zeile gezeichnet.

So wird ein Schuh draus:
Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with (control as TListBox) do
  begin
    if Index = 4 then // Farben für die 5. Zeile ändern.
    begin
      Canvas.Brush.Color := clRed;
      Canvas.Pen.Color := clWhite;
      Canvas.Rectangle(Rect);
    end;
    Canvas.TextOut(Rect.Left + 1, Rect.Top + 1, Items[Index]); // Item wird immer gezeichnet
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat