Ich habs inzwischen mit einer Listview hinbekommen, das ist der Code:
Delphi-Quellcode:
procedure Tprog.tabelleCustomDrawItem(Sender: TCustomListView; Item: TListItem;
State: TCustomDrawState; var DefaultDraw: Boolean);
var
r, r2: trect;
breite: integer;
begin
breite:=sender.Column[0].Width; //Breite der ersten Spalte
r:=item.DisplayRect(drbounds); //Rect der Zelle der ersten Spalte
sender.canvas.Brush.Color:=farbliste[item.Index]; //farbliste ist ein Array mit den Farbwerten
sender.Canvas.fillrect(r); //Rechteck wird in erste Zelle gezeichnet
sender.Canvas.Brush.Color:=clwindow; //Farbe wird wieder zurückgestellt
end;
Allerdings funktioniert es noch nicht ganz so, wie ich es mir vorstelle. Die Farbe erscheint erst wenn man mit der Maus längere Zeit darüberfährt, offenbar wird das Rechteck teilweise wieder übermalt - es ist nur noch an einer Ecke sichtbar. Habt ihr ne Idee???
Danke schonmal!