TreeView控件中如何知道TreeNode被点击,是否用到消息机制 用不着,你只要利用TreeView的OnChange或OnChanging事件就可以 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TreeView1.selected即为选中的treenode,事件就用treeview的onClick或onChange。 这两个事件都提供TTreeNode参数,不仅相应鼠标,而且相应键盘 在TreeView的OnChange事件中可以得到你要的TreeNode TreeView1.selected即为选中的treenode事件用treeview的onClick或onChange。 写在TreeView的OnMouseDown事件中比较好:var HT : THitTests; tvNode: TTreeNode;begin HT := tvSecu.GetHitTestInfoAt(X,Y); if (htOnItem in HT) then //确保MOUSE是点在节点上 begin tvNode := tvSecu.Selected; //得出tvNode之后你想做什么都可以的。可参考TTreeNode的帮助。 end;end; TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);参数Node就是当前的接点。 To:huangkj (HuangKJ) onChang是在Node改变后发生的,即当前选中的节点改变成选中另一个节点以后发生的事件,而OnChanging是在此之前,OnChanging多了一个AllowChange:Boolean参数,它的值决定是否允许这种变化,这两个事件只有在改变选中节点时发生,生成时不触发。如果你所有的都是在最后一层发生,你可以判断这两个属性的值,决定是否进行操作:是否有子节点: Node.HasChildren:Bollean;节点的级别: Node.Level:Integer比如:procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);begin if (Node.HasChildren) and (node.Level=2) then begin ..... label1.caption:='xxxxxxx'; ..... ///实现你的过程 end;end; 简单的delphi转BCB语句 数据库保存问题,在线等待! 谁能告诉我这个Error是什么意思,可能是什么地方有问题: 一个简单的SQL问题 如何分别获取getdate()函数中的日期和时间? 请问在哪里能下载适合于Delphi6.0的BUPACK的最新版本 关于汉字拼音的问题 哪位老大能把CSDN助手之类的制作过程发表一下啊,最好带抓图的也 ACCESS表不允许空字符串,DBEdit如何提交空值 delphi 10如何编程隐藏另一个进程 如何控制DXDBGRID里某字段的值不能为空 dephi中的菜单字体如何设置?
事件用treeview的onClick或onChange。
var
HT : THitTests;
tvNode: TTreeNode;
begin
HT := tvSecu.GetHitTestInfoAt(X,Y);
if (htOnItem in HT) then //确保MOUSE是点在节点上
begin
tvNode := tvSecu.Selected;
//得出tvNode之后你想做什么都可以的。可参考TTreeNode的帮助。
end;
end;
参数Node就是当前的接点。
onChang是在Node改变后发生的,即当前选中的节点改变成选中另一个节点以后发生的事件,而OnChanging是在此之前,OnChanging多了一个AllowChange:Boolean参数,
它的值决定是否允许这种变化,这两个事件只有在改变选中节点时发生,生成时不触发。
如果你所有的都是在最后一层发生,你可以判断这两个属性的值,决定是否进行操作:
是否有子节点: Node.HasChildren:Bollean;
节点的级别: Node.Level:Integer比如:
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
if (Node.HasChildren) and (node.Level=2) then
begin
.....
label1.caption:='xxxxxxx';
..... ///实现你的过程
end;
end;