再问treeviewer问题?

kentg 2011-12-05 01:39:45
原帖:http://topic.csdn.net/u/20110503/22/a0206b95-74c0-4b08-96e9-b98b11057db5.html
按照里面各位大侠提供的意见,已经基本达到效果,但现在有一个疑问,如下图

ABC
|
+--EFG
|
+---HIJ

疑问:我已经使用了动态检查树结构的方法,因为结构太大,所以在点击一层结构的时候才去检查是否还有下一层结构,但现在就是想在点击“EFG”(就是在倒数第二层树结构)的时候,系统要做出我需要的动作(比如弹个框,显示一段文字之类),不知我说得明白否,请各位指教,谢谢。
...全文
64 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kentg 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 apple_8180 的回复:]
那就在单击时检测此节点是否有孙节点,如有,就不显示,如没有,就显示。
如何检测呢,因为你的节信息来自表记录吧,检测表就可以了。
[/Quote]

一言惊醒,十分感谢。
十豆三 2011-12-07
  • 打赏
  • 举报
回复
那就在单击时检测此节点是否有孙节点,如有,就不显示,如没有,就显示。
如何检测呢,因为你的节信息来自表记录吧,检测表就可以了。
kentg 2011-12-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 apple_8180 的回复:]
在控件的 NodeClick 事件写好判断代码,通过各种方法判断……
[/Quote]
非常感谢上面两位大侠的回答,可能我说得不够清楚吧,
我的问题是:
第一次点击树控件时,就是点击"ABC”时,动态检测出"ABC"有下一层"EFG",但当前是不知道"EFG"下面还有没有再下一层,如果没有下一层,就在点击"ABC"的时候显示文字,如果发现"EFG"有下一层"HIJ",那么就在点击"EFG"的时候再显示文字(当然这里也要确定"HIJ"下面还有没有再下一层,有的话就不能显示文字,没的话就可以在点击"EFG"的时候显示文字)
好像说得有点混乱,不知大侠们明白否,再次感谢.....
都市夜猫 2011-12-05
  • 打赏
  • 举报
回复
vfp 中, 树控件节点只能是动态加载,所以无论如何都是在树控件的 NodeClick 中写代码

*** ActiveX Control Event ***
LPARAMETERS oNode

do case
case isnull(oNode)
* do someone
case oNode.text = 'EFG'
messagebox('这个节点的 key 值是:' + oNode.Key)
otherwise
* do other
endcase

判断是否是你需要提示的节点有很多属性可以利用,具有唯一性的当然是节点的 key 值,如果在添加节点的 add 方法中你规定了一套自己的生成 key 原则就可以直接根据 oNode.key 来判断,如果是其他人生成的节点并且你不知道 key 值的规律,用 text 属性也可以,不过无法保证唯一性。另外,每个节点都有一个 tag 属性,也可以善加利用。
十豆三 2011-12-05
  • 打赏
  • 举报
回复
在 EFG 节点的 NodeClick 事件写你的弹出框。
如果是动态加载的,就用 BINDEVENT( ) 函数绑定事件


报谦,我搞错了,没想也没试就回复,对不起,也多谢 dkfdtf 版主的提醒,改为:
应该是控件的 NodeClick 事件,节点没有 NodeClick 事件。
就像 dkfdtf 版主说的那样,在控件的 NodeClick 事件写好判断代码,
通过各种方法判断你点击的当前节点是哪个,然后写对应的代码。

2,727

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧