Hmm, tja det er en meget god pointe du har der, jeg havde ikke tænkt på at den rent faktisk kunne have en funktion... synes bare den er grim :-)
Karin
Ved nærmere eftertanke vil jeg tro at du kan lave det ved at sætte OwnerDraw til true, og derefter selv tegne dine items i onCustomDrawItem, noget i stil med:
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
BCol, FCol: TColor;
begin
if cdsSelected in state then
begin
BCol := clHighLight;
FCol := clWhite;
end
else
begin
BCol := clWhite;
FCol := clBlack;
end;
sender.canvas.Brush.Color := BCol;
sender.canvas.FillRect(Item.DisplayRect(drLabel));
sender.canvas.Font.Color := FCol;
sender.canvas.TextOut(Item.Left + 2, Item.Top , Item.Caption);
defaultdraw := false;
end;
Men det giver selvf. ikke mening hvis du bruger multiselect
/data