我设置了listview中的checkbox属性为TRUE.
在onclick事件中加入:
procedure TMainForm.lvRecClick(Sender: TObject);
var
li: TListItem;
begin
li := lvRec.Selected;
if li = nil then Exit;
if li.Checked then
li.Checked := False
else
li.Checked := True;
end;
设计思路:
listiew左侧的checkbox和点击某一行时,都把那行的颜色换一下
找了些质料没有解决.
请高手看看,这事应该怎么做....
在onclick事件中加入:
procedure TMainForm.lvRecClick(Sender: TObject);
var
li: TListItem;
begin
li := lvRec.Selected;
if li = nil then Exit;
if li.Checked then
li.Checked := False
else
li.Checked := True;
end;
设计思路:
listiew左侧的checkbox和点击某一行时,都把那行的颜色换一下
找了些质料没有解决.
请高手看看,这事应该怎么做....
解决方案 »
- 动态调用 BPL 问提!!!!!!
- 新开贴求助:TADOTable+ACCESS数据库从一个数据库复制记录到另一个数据库时出错
- 如何通过访问注册表得到计算机主机名?
- 菜鸟:怎样初始化一个变量?
- 關於tagmsg 和tmessage的問題?
- CheckListBox 问题 循环写入数据库
- tcp 外文文献
- 好消息!!!Borland在北京成立代表处和独资公司,并将于11月29日在北京举行研讨会,详情访问Borland中国主页http://www.borlandsoftware.com.cn
- DELPHI所提供的delphi只是记录的软删除,我现想真正的删除记录,有朋友推荐DbiPackTable(),但我总是拿捏不住,请大家帮帮
- 在edit中,怎么控制只能输入数字及小数点,并且小数点不能在最前面以及最后面!
- 看看MM们年薪过10K的有多少!(值得一看)
- 用rawsocket编写ping功能代码,用select设置超时设置timeval.tv_sec := 0时全部ping所有ip都超时 ?
----------------------------------
对这句不是很理解
主要是不理解什么叫做listview左侧的checkbox时这句
意思是不是checkbox被勾选时?
如果是这样的话
procedure MainForm.lvRecCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if (Item.Checked) or (Item.Selected) then
Sender.Brush.Color := clgray
else
Sender.Brush.Color := clWindow;
end;
procedure MainForm.lvRecCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if (Item.Checked) or (Item.Selected) then
Sender.Canvas.Brush.Color := clgray
else
Sender.Canvas.Brush.Color := clWindow;
end;说漏了应该是
现在还有一个问题,listview么有onCheck事件.
我用了onChange事件,就产生问题:
假如我现在第三行,然后我选择了第五行.
procedure TMainForm.lvRecClick(Sender: TObject);
var
li: TListItem;
begin
li := lvRec.Selected;
if li = nil then Exit;
if li.Checked then
li.Checked := False
else
li.Checked := True;
end;
受这个代码的影响,第三和第五行都会改变checked的状态,这么解决这个问题.虽然CSND上高手很多.但是我从来都没有碰到一个,很兴奋....
谢谢你 liuhaogang82 ....如果知道,delphi中如何弹出类似windows的确认文件替换,那就更好了..再谢一次....(^_^)
确认文件替换,这个其实我也不知道的,我的方法只是自己做FORM,然后根据选择的按钮来处理
按你现在的代码,我试了一下没什么问题,
究竟你在onchange事件里写了什么呢?
还有你的
if li.Checked then
li.Checked := False
else
li.Checked := True;
可以替换成
li.checked := Not li.checked;
这样代码可以精简,而且容易理解