procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); var cl, fcl: TColor; begin if Odd(Item.Index) then begin cl := clSkyBlue; fcl := clRed; end else begin cl := $008FE4E4; fcl := clBlue; end; Item.ListView.Canvas.Brush.Color := cl; Item.ListView.Canvas.Font.Color := fcl; end;
这样可以:将某列字段值为‘XXXXX’的行以红色标识出来。 procedure TFormMain.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); begin if item.Index mod 2 = 1 then sender.Canvas.Brush.Color:=$f0f0f0 else sender.Canvas.Brush.Color:=clwhite; if Item.SubItems[2]='XXXXX' then // begin ListView1.Canvas.Font.Color:= clRed; end; end;
我自己用过的,如下: procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); begin if odd(item.Index) then item.ListView.Canvas.Brush.Color:=clWindow //$00FEF4E7 else item.ListView.Canvas.Brush.Color:=clYellow; end;
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); begin if odd(Item.Indent) then sender.Canvas.Brush.Color:=clteal else sender.Canvas.Brush.Color:=Clskyblue; end;
rocedure TEmployeeManagefrm.lvEmployeeInforCustomDrawItem( Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); begin if (Item.Index mod 2)=0 then item.ListView.Canvas.Brush.Color:=$00FCF2EB //$00FEF4E7 淡紫色 else item.ListView.Canvas.Brush.Color:=clWhite; //$00F7F8F9; //clWhite 白色 end;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
cl, fcl: TColor;
begin
if Odd(Item.Index) then
begin
cl := clSkyBlue;
fcl := clRed;
end
else
begin
cl := $008FE4E4;
fcl := clBlue;
end;
Item.ListView.Canvas.Brush.Color := cl;
Item.ListView.Canvas.Font.Color := fcl;
end;
procedure TFormMain.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if item.Index mod 2 = 1 then
sender.Canvas.Brush.Color:=$f0f0f0
else
sender.Canvas.Brush.Color:=clwhite; if Item.SubItems[2]='XXXXX' then //
begin
ListView1.Canvas.Font.Color:= clRed;
end;
end;
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if odd(item.Index) then
item.ListView.Canvas.Brush.Color:=clWindow //$00FEF4E7
else
item.ListView.Canvas.Brush.Color:=clYellow;
end;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if odd(Item.Indent) then
sender.Canvas.Brush.Color:=clteal
else
sender.Canvas.Brush.Color:=Clskyblue;
end;
Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
if (Item.Index mod 2)=0 then
item.ListView.Canvas.Brush.Color:=$00FCF2EB //$00FEF4E7 淡紫色
else
item.ListView.Canvas.Brush.Color:=clWhite; //$00F7F8F9; //clWhite 白色
end;