怎样改变Listview组件选中项的颜色(默认为深蓝色)??不是Item的颜色!(30分)

  • 主题发起人 主题发起人 minstrel
  • 开始时间 开始时间
过节了,也该歇歇了……
 
找第三方控件
 
把listview 改为自画属性,然后在他的OnDrawItem 里.....
想怎么画你自己看着办吧!
 
改成红色!

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
p:trect;
begin
if cdsselected in state then
begin
listview1.Canvas.Font.Color:=clgreen;
listview1.Canvas.brush.Color:=clred;
p:=item.displayrect(drselectbounds);
listview1.Canvas.FillRect(p);
listview1.Canvas.Textout(p.Left+2,p.Top,item.Caption);
listview1.Canvas.brush.Color:=clblue;
listview1.Canvas.FrameRect(item.displayrect(drselectbounds));
defaultdraw:=false;
end;
end;
 
to vine 高手:
你的代码不错哟……我试过了!怎么全部变成红色了,而且我行头显示的图标也不见了!
还有什么办法嘛?谢谢了
 
原来HideSelection必须设定为True
……
 
多人接受答案了。
 
后退
顶部