Wahrscheinlich geht der Code vom SwissDelphiCenter. Aber der kommt mir doch reichlich kompliziert vor. Das hier müßte doch reichen :
Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
i : Integer;
begin
for i := 1 to Listbox1.Items.Count do begin
if Index mod 2 = 0 then begin
Listbox1.Canvas.Brush.Color := clBlue;
Listbox1.Canvas.FillRect(Rect);
Listbox1.Canvas.TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]);
end
else
Listbox1.Canvas.TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]);
end;
end;
Bei mir sind die Zeilen jetzt abwechseln weiß oder blau. Egal, ob sie neu hinzukommen, oder bereits da sind. Was macht denn da der Swiss-Code wichtiges ?