das geht. Dafür kannst du das Event "OnAdvancedCustomDrawSubItem" nutzen. In der Hilfe steht auch noch etwas dazu.
Mit folgendem Source kann man zum beispiel den Hintergrund der zweiten Spalte einfärben
Delphi-Quellcode:
procedure TForm1.ListView1AdvancedCustomDrawSubItem(
Sender: TCustomListView; Item: TListItem; SubItem: Integer;
State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
var LRect: TRect;
begin
if (SubItem = 1) then
begin
DefaultDraw := False;
Sender.Canvas.Brush.Color := clBlue;
LRect := Item.DisplayRect(drBounds);
LRect.Right := Min(Sender.Column[0].Width + Sender.Column[1].Width, LRect.Right);
LRect.Left := Min(Sender.Column[0].Width, LRect.Right);
Sender.Canvas.FillRect(LRect);
end else
DefaultDraw := True;
end;
ein bild geht ebenso einfach. du musst nur "Sender.Canvas.FillRect(LRect)" austauschen mit
Sender.Canvas.StretchDraw(LRect, Image1.Picture.Bitmap);
die Zeile "Sender.Canvas.Brush.Color := clBlue;" kannst du in dem fall natürlich auch weg lassen.