本帖最后由 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
|