控制行的颜色:ListView1.OwnerDraw := true;procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); begin inc(i); if odd(i) then begin listview1.Canvas.Brush.Color:=$00FEF4E7; listview1.Canvas.FillRect(item.DisplayRect(drBounds)); end else begin listview1.Canvas.Brush.Color:=$00F7F8F9; listview1.Canvas.FillRect(item.DisplayRect(drBounds)); end; end;
Procedure DrawLV(Listview: TListview; Item: TListItem; Color1, Color2: TColor; Def: Boolean = true); Var Frect: TRect; Begin Frect := Listview.BoundingRect; // Frect:=item.ListView.BoundsRect; If Def Then Begin If (item.Index Mod 2) = 0 Then Listview.Canvas.Brush.Color := Color1 //$00FFB3B3 Else Listview.Canvas.Brush.Color := Color2; //$00FFB3B3 End Else Listview.Canvas.Brush.Color := Color1; //$00FFB3B3 Listview.Canvas.FillRect(Frect); End; procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage; var DefaultDraw: Boolean); begin DrawLV(listview1, item, $00EEF7FF, $00FFF4F4); end;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
inc(i);
if odd(i) then begin
listview1.Canvas.Brush.Color:=$00FEF4E7;
listview1.Canvas.FillRect(item.DisplayRect(drBounds));
end else begin
listview1.Canvas.Brush.Color:=$00F7F8F9;
listview1.Canvas.FillRect(item.DisplayRect(drBounds));
end;
end;
Var
Frect: TRect;
Begin
Frect := Listview.BoundingRect;
// Frect:=item.ListView.BoundsRect;
If Def Then
Begin
If (item.Index Mod 2) = 0 Then
Listview.Canvas.Brush.Color := Color1 //$00FFB3B3
Else
Listview.Canvas.Brush.Color := Color2; //$00FFB3B3
End
Else
Listview.Canvas.Brush.Color := Color1; //$00FFB3B3
Listview.Canvas.FillRect(Frect);
End;
procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
DrawLV(listview1, item, $00EEF7FF, $00FFF4F4);
end;