TreeView的几个问题 (100分)

  • 主题发起人 主题发起人 zljzyj
  • 开始时间 开始时间
Z

zljzyj

Unregistered / Unconfirmed
GUEST, unregistred user!
1、getNodeAt 通过x,y取得TreeNode,但是x值不受限制,即使鼠标不在节点上(在右惻)也
能得到节点
如何解决此问题。
2、用以下方法取HINT,当显示一个Hint后,移动鼠标想获得下一个HINT,但必需先按一下
鼠标左键。如何解决??
if VSETree.GetNodeAt(x,y)<>NIL then
begin
VSETree.ShowHint:=False;
VSETree.Hint :=pTreeData(VSETree.getNodeAt(x,y).Data)^.Comment;
end
else
VSETree.Hint :='';
VSETree.ShowHint := True;
3 如何使TreeView的Double Click不会展开这个节点,而仅执行我的双击代码。
 
1,用GetHitTestInfoAt(X, Y)函数得到当前鼠标点在什么地方?然后再进行分析就可以了!
2。在其的MouseMove 方法中用以上代码就可以了!
 
其实微软也没管X的值,你在资源管理器左边点点看
 
现在第3个问题希望大家考虑一下。谢谢。
 
那你重载双击事件不就得了!
 
问题1,2照我用的方法可以解决!
至于3,要不重载,要不在dbclick事件中再加上几句话吗?
如果原先是打开的就让他继续打开,合上的继续合上!
设个变量,不就行了!
TreeView1Expanding事件中,
把这个取出来,ok!
 
接受答案了.
 
后退
顶部