找回密码
 加入
搜索
查看: 2862|回复: 2

[GUI管理] [已解决] 如何在事件模式下取得所点击的 TreeView Item的控件ID?

[复制链接]
发表于 2010-11-29 23:14:31 | 显示全部楼层 |阅读模式
本帖最后由 yhxhappy 于 2010-11-30 14:54 编辑

小弟的TREEVIEW 是带 CHECKBOX 的那种,现在想实现的是 选择子项则父项也跟着勾选,父项取消勾选则子项全部取消选择。在消息循环模式已经解决了,但现在换到事件模式就不懂了。

关键的是不知道什么取得最后点击的项目的ID。因为全部的项目信息我是存储在一个数组里面,只要知道最后选择的项目ID我就好办了

使用 @GUI_CtrlId 似乎对TREE控件没效果,没有返回值的,还请大家帮帮忙
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <TreeViewConstants.au3>

Opt("GUIOnEventMode", 1)  ; 切换到 OnEvent 模式 

GUICreate(" GUI treeview 控件", 350, 215)
GUISetOnEvent($GUI_EVENT_CLOSE, "GUI")

$treeview = GUICtrlCreateTreeView(6, 6, 300, 200, $TVS_CHECKBOXES+$TVS_HASLINES+$TVS_LINESATROOT+$TVS_HASBUTTONS, $WS_EX_CLIENTEDGE)
        GUICtrlSetOnEvent(-1, "GUI")
$item1 = GUICtrlCreateTreeViewItem("常规", $treeview)
GUICtrlCreateTreeViewItem("关于...", $item1)
GUICtrlCreateTreeViewItem("计算机", $item1)
GUICtrlCreateTreeViewItem("用户名", $item1)
GUICtrlCreateTreeViewItem("分辨率", $item1)
GUICtrlCreateTreeViewItem("其它", $item1)

GUISetState()

While 1
        ;;
WEnd

Func GUI()
        Switch @GUI_CtrlId
        Case $GUI_EVENT_CLOSE
                Exit
        Case $treeview
                ;MsgBox(0,"",@GUI_CtrlId)                
        EndSwitch
EndFunc

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-11-30 12:38:04 | 显示全部楼层
把第11行放在第12行后面~
 楼主| 发表于 2010-11-30 14:54:25 | 显示全部楼层
哦,明白了,谢谢!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 14:51 , Processed in 0.079006 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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