Hallo,
ahhhh,
nichts bringen war falsch ausgedrückt,
er hatte immer die komplette Ziele gefärbt.
Delphi-Quellcode:
Sender.Canvas.FillRect(r);
Sender.Canvas.Font.Color := Graphics.clBtnText;
Sender.Canvas.TextOut(r.Left + 2, r.Top, Item.Caption);
Sender.Canvas.Brush.Color := TListView(Sender).Color;
die letzte Zeile ist wichtig !
und hier noch mal der Code zum kopieren
Delphi-Quellcode:
procedure TForm.LV_DataAdvancedCustomDrawItem(
Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
Stage: TCustomDrawStage; var DefaultDraw: Boolean);
var
Rect : TRect;
// ListItem.Data contains our own class
DataItem : TDataItem;
begin
DataItem:= Item.Data;
if DataItem<>NIL then
begin
if DataItem.iColor>-1 then
begin
begin
Rect:= Item.DisplayRect(drLabel);
Sender.Canvas.Brush.Color := DataItemm.iColor;
Sender.Canvas.FillRect(Rect);
Sender.Canvas.Brush.Color := TListView(Sender).Color;
Exit;
end;
end;
end;
end; { LV_DataAdvancedCustomDrawItem }
Deine Unterscheidung nach selected oder nicht habe ich übrigens
absichtlich nicht drin, damit beim Blättern immer die Farbe angezeigt wird.
1000 Dank
jipppiiii
Heiko