找回密码
 加入
搜索
楼主: digibread

[GUI管理] 如何动态创建treeview并捆绑click事件?

 火.. [复制链接]
发表于 2010-5-13 15:54:18 | 显示全部楼层
本帖最后由 pusofalse 于 2010-5-13 16:06 编辑

回复 15# digibread


不要截取NM_CLICK,用TVN_SELCHANGED代替,只有在鼠标单击的时候才会接收NM_CLICK通知,如果用上下键选择的话,NM_CLICK就有问题了。而TVN_SELCHANGED不存在这个问题,只有当所选项目已经改变时,才发送此通知,截取TVN_SELCHANGED是正确的。
更多消息参考:Tree-View control notifications
 楼主| 发表于 2010-5-13 16:11:43 | 显示全部楼层
谢谢指点,但我运行时报错
WARNING: $TVN_SELCHANGED: 使用前并未进行声明.
帮助文件中的官方例子运行时也报同样的错误,是不是先要include某个文件啊?
发表于 2010-5-13 16:28:49 | 显示全部楼层
treeview里不管父项还是子项,都有ID的,用GuiGetMsg()就行
发表于 2010-5-13 16:40:49 | 显示全部楼层
楼主的问题和这个问题类似 传送门:http://www.autoitx.com/forum.php ... TreeView&page=1
 楼主| 发表于 2010-5-13 19:01:39 | 显示全部楼层
谢谢水木子,研究了一下您在传送门上的例子
请教一下:
Case $aFitem[1] To $aFitem[UBound($aFitem) - 1], $aSitem[1] To $aSitem[UBound($aSitem) - 1]
是不是说$nMsg的值在$aFitem[1] To $aFitem[UBound($aFitem) - 1]范围内或者在$aSitem[1] To $aSitem[UBound($aSitem) - 1]范围内都执行代码?也就是说逗号(,)相当与“或”的逻辑?

还有个疑问,您所采用的是消息循环的方式,在这种方式下怎么监听除了click以外的double click或者其它事件?

谢谢
发表于 2010-5-13 23:16:38 | 显示全部楼层
本帖最后由 水木子 于 2010-5-13 23:20 编辑

回复 20# digibread
1:是的,加了循环,所有项目的勾选都能响应,并且我刻意加了注释,相信能够看懂吧!

2:注册一个Treeview的事件函数就可以啦!之前应该已经有人提过啦!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-7 03:06 , Processed in 0.068559 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表