起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 193|回复: 6

【结贴】改变ListView1某行的值

[复制链接]
发表于 2009-9-7 17:37:13 | 显示全部楼层 |阅读模式
sender.Canvas.Brush.Color:= Graphics.clYellow;      
这样写不行.

1232.gif

271.52 KB, 下载次数: 137

回复

使用道具 举报

发表于 2009-9-7 18:29:26 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-8 10:14:40 | 显示全部楼层

我晕.

晕死.这也叫回答,直接叫我google下算了.
回复 支持 反对

使用道具 举报

发表于 2009-9-8 10:24:38 | 显示全部楼层
TListview是delphi的标准控件,相关用法可以参考delphi中的实现
比如delphi中这样用:
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if (Item.Index div 2)=1 then
  begin
    ListView1.Canvas.Brush.Color:=clwhite;
  end
  else
  begin
    ListView1.Canvas.Brush.Color:=clBlue;
  end;
end;

你只要翻译到平台就可以了,主要是有些方法或者属性需要加上平台的命名空间,具体可以查看studio的帮助。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-8 10:43:24 | 显示全部楼层

我是问的颜色弄出来了.为什么要焦点离开才行.你看上图嘛
回复 支持 反对

使用道具 举报

发表于 2009-9-8 11:10:03 | 显示全部楼层
代码
procedure TMainForm.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Item.Caption = '1' then//(Item.Index div 2)=1 then
  begin
    ListView1.Canvas.Brush.Color := Business.System.Graphics.clwhite;
  end
  else if Item.Caption = '2' then
  begin
    ListView1.Canvas.Brush.Color := Business.System.Graphics.clBlue;
  end
  else if Item.Caption = '3' then
  begin
    ListView1.Canvas.Brush.Color := Business.System.Graphics.clRed;
  end
  else
    ListView1.Canvas.Brush.Color := Business.System.Graphics.clTeal;


end;

我的效果

snap12.png

1.33 KB, 下载次数: 104

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-8 12:06:22 | 显示全部楼层

结贴

我是按钮触发的.没有刷新控件.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-16 14:33 , Processed in 0.047270 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表