如何得到Treeview中变成蓝色的节点的信息。(50分)

  • 主题发起人 主题发起人 eminque413
  • 开始时间 开始时间
E

eminque413

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现这样一个功能:一个TreeView中有若干个节点比如N1、N2、N3、N4 窗体上另有几个Label:L1、L2、L3、L4其dragmode设为dmAutomatic。运行时要求:将其中的一个Label比如L3拖到TreeView中某个节点比如N2上,该节点的Text就改为L3
我遇到的问题是:如果开始TreeView中假如被选中的节点是N1变为蓝色。之后把Label拖到其它任意一个节点上比如是N3使之变为蓝色后,一放手后被改变的却是N1,而不是N3。
看来变成蓝色的节点并不是当前TreeView.selected的节点。
在拖放过程中如何得到变成蓝色的节点的信息,请高手们指点一下,万分感谢!
 
在tree的MouseMove事件中写上,根据当前坐标选中节点。
大概是
var
pNode:TTreeNode;
begin
pNode:=Tree.GetNodeAt(X,Y);
if pNode<>nil then
pNode.Selected:=True;

end;
//--随手写的。
 
你这到底是TreeView的节点拖动还是控件拖动到TreeView的节点上?
根据你表述的意思就是在拖动时目标节点为
TreeView.GetNodeAt(X,Y);
不要用TargNode就可以了!
 
高手就是高手,谢谢,谢谢了!!!
 
后退
顶部