函数参考


ControlTreeView

发送一个命令到 TreeView32 控件.

ControlTreeView ( "窗口标题", "窗口文本", 控件ID, "命令" [, 选项1 [, 选项2]] )

参数

窗口标题 目标窗口标题.
参考文本 目标窗口文本.
控件ID 目标控件句柄.请查看关于 控件 的说明.
命令 要发送到控件的命令 (见下方).
选项1 [可选参数] 一些命令的附加请求参数.
选项2 [可选参数] 一些命令的附加请求参数.

返回值

下方列表显示了可使用的命令. 如果使用命令产生的错误(比如无效的命令或者窗口/控件不存在),@error 将会被设置为 1.


命令, 选项1, 选项2 操作
"Check", "项目" 选中一个项目 (如果项目支持选中,这里指项目带有选择框).
"Collapse", "项目" 折叠一个项目节点,使它隐藏它的子项目.
"Exists", "项目" 如果项目存在返回 1,否则返回 0.
"Expand", "项目" 展开一个项目节点,使它显示它的子项目.
"GetItemCount", "项目" 返回所选项目的子项目数量.
"GetSelected" [, 使用索引] 返回当前所选项目的文本参考信息(如果使用索引设置为1将会返回所选项目索引位置).
"GetText", "项目" 返回项目文本.
"IsChecked" 返回项目选中状态. 1:被选中, 0:未被选中, -1:没要选择框.
"Select", "项目" 选择一个项目.
"Uncheck", "项目" 取消项目选中状态 (如果项目支持选中,这里指项目带有选择框).


"项目" 参数是一个基于字符串表达的 treeview 项目联合文本参考信息索引. 索引是基于0开始计算的. 如下例:

标题1
----> 子项目1
----> 子项目2
----> 子项目3
----> ----> 标题1子项目1的子项目1
标题2
标题3

英文原例子,便于理解:

Heading1
----> H1SubItem1
----> H1SubItem2
----> H1SubItem3
----> ----> H1S1SubItem1
Heading2
Heading3

每个 "等级" 使用管道符|分开. 一个项目前带有一个#. 例如:



项目 项目参考
标题2 "标题2" 或者 "#1"
标题1子项目2 "标题1|子项目2" 或者 "#0|#1"
标题1子项目1的子项目1 "标题1|标题1子项目3|标题1子项目1的子项目1" 或者 "#0|#2|#0"
汉化说明 上面很乱啊,自己研究下.不明白参考下方的原英文帮助.
项目 项目参考
Heading2 "Heading2" or "#1"
H1SubItem2 "Heading1|H1SubItem2" or "#0|#1"
H1S1SubItem1 "Heading1|H1SubItem3|H1S1SubItem1" or "#0|#2|#0"


参考可以是一个混合表达式,就像 "标题1|#1".

注意/说明

在64位Windows系统上运行32位的AutoIt时,部分参考可能无效,请使用64位AutoIt版本.

相关

ControlCommand

示例/演示


#include <GUIConstantsEx.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>

Example()

Func Example()
Local $hGUI = GUICreate("ControlTreeView 测试", 212, 212)
    Local $iTreeView_1 = GUICtrlCreateTreeView(6, 6, 200, 160, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_CHECKBOXES), $WS_EX_CLIENTEDGE)
    Local $hTreeView_1 = ControlGetHandle($hGUI, "", $iTreeView_1)

    Local $iRoot = GUICtrlCreateTreeViewItem("根", $iTreeView_1)
    GUICtrlCreateTreeViewItem("项目 1", $iRoot)
    GUICtrlCreateTreeViewItem("项目 2", $iRoot)
    GUICtrlCreateTreeViewItem("项目 3", $iRoot)
    Local $iItem_4 = GUICtrlCreateTreeViewItem("项目 4", $iRoot)
    GUICtrlCreateTreeViewItem("项目 4.1", $iItem_4)
    GUICtrlCreateTreeViewItem("项目 4.2", $iItem_4)
    GUICtrlCreateTreeViewItem("项目 5", $iRoot)

    GUISetState(@SW_SHOW, $hGUI)

    ControlTreeView ($hGUI, "", $hTreeView_1, "Expand", "根")

    ControlTreeView ($hGUI, "", $hTreeView_1, "Exists", "根|项目 4")
    ControlTreeView ($hGUI, "", $hTreeView_1, "Check", "根|项目 4")
    ControlTreeView ($hGUI, "", $hTreeView_1, "Select", "根|项目 4")
    ControlTreeView ($hGUI, "", $hTreeView_1, "Expand", "根|项目 4")

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd
EndFunc   ;==>Example