一个TreeView的使用问题(100分)

  • 主题发起人 主题发起人 qlw
  • 开始时间 开始时间
Q

qlw

Unregistered / Unconfirmed
GUEST, unregistred user!
点击treeview的节点时的sender好象不是TTreeNode和TTreeNodes
如下代码,执行到做记号那行就跳过去了

procedure TForm1.treeviewDblClick(Sender: TObject);
var i:integer;
begin
if sender is TTreeNodes then begin /////////////////
for i:=0 to treeview1.Items.Count-1 do begin
if sender=Treeview1.Items then
showmessage(treeview1.items.item.text);
end;
end;
end;

以上代码是Treeview的OnDblClick事件,我本来是想知道哪一节点被点击
另外有无更好的办法?


 
以上问题还请各位赐教.我刚用treeview,现在想获得被点击的节点的内容,
不知还有什么别的方法?
 
Sender是TTreeView
取被点中的节点可以用TTreeiew.Selected

如果被点击的节点不是被选中的节点,
也可以用TTreeiew.NodeAt方法查找某一x,y位置的节点

注意,用的时候记得检查返回值是否Nil先!
 
当某控件的事件发生时,发送该事件的sender就是控件本身
点击treeview时,sender就是treeview本身啊
你那段程序当然通不过了
李颖的看法是正确的,应当用TTreeiew.Selected
你复习有关sender的内容吧
 
多人接受答案了。
 
后退
顶部