ListView选中行问题,小弟在线等,很急!谢谢了。(36分)

  • 主题发起人 wubo830814
  • 开始时间
W

wubo830814

Unregistered / Unconfirmed
GUEST, unregistred user!
我在每个SubItem[2]上都加了一个button,当我按下button时,
1.怎么才能让相应的Item处于选中状态
2.怎样才能显示出Item的caption
谢谢了,
 
创建Button时与相应ListItem的Data相关联:
listitem.Data:=Button;
Button的onclick可以这么写:
procedure TForm1.ButtonClick(Sender: TObject);
var
i:integer;
begin
for i:=0 to listview.Items.Count-1do
begin
if Listview1.Items.Data=TButton(sender) then
begin
listview1.Items.Selected:=true;
showmessage(listview1.Items.Caption);
exit;
end;
end;
end;
记得要设TListview的hideselection:=false;
 
type
PItemCtrl = ^TItemCtrl;
TItemCtrl = Record
CheckBox: TCheckBox;
Button: TButton;
end;
P: PItemCtrl;
Item.Data:=P;
我把每个Item.Data中放了两个元素,这样该怎么办?
为什么要设TListview的hideselection:=false;
 
处理方法是一样的,首先要new一个fpitemCtrl。
new(fpItemCtrl);
fpItemCtrl^.button:=Button;
fpItemCtrl^.CheckBox:=CheckBox;
listitem:=listview1.Items.Add;
listitem.Data:=fpItemCtrl;
Button的onclick这么写:
procedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to listview1.Items.Count-1do
begin
if pItemCtrl(Listview1.Items.Data)^.button=TButton(sender) then
begin
listview1.Items.Selected:=true;
showmessage(listview1.Items.Caption);
exit;
end;
end;
end;
设TListview的hideselection:=false;是为了能显示选中的状态。
 
非常非常感谢你,我如果有问题可以和你私下聊吗?
不管怎么样都要谢谢你gulang
我的QQ:253817622,欢迎你加我
 
客气了,有问题我们一起探讨。有问题可以给我发邮件:kepter@yeah.net
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
739
DelphiTeacher的专栏
D
D
回复
0
查看
742
DelphiTeacher的专栏
D
顶部