基 础 函 数 参 考


ControlTreeView

发送命令到 TreeView32 控件.

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

参 数

标题 目标窗口标题.
文本 目标窗口文本.
控件ID 控件标识符. 相关说明见 Controls.
命令 发送到控件的命令 (见下文).
选项1 [可选参数] 某些命令需要的附加参数.
选项2 [可选参数] 某些命令需要的附加参数.

返 回 值

返回结果取决于命令, 如下表所列. 若发生错误(如命令或窗口/控件无效), 则 @error = 1.


命令, 选项1, 选项2 结果
"Check", "项目" 选中项目 (如果项目支持选择).
"Collapse", "项目" 折叠项目,使其隐藏子项目.
"Exists", "项目" 如果项目存在则返回 1, 否则返回 0.
"Expand", "项目" 展开项目, 使其显示子项目.
"GetItemCount", "项目" 返回所选项目的子项目数量.
"GetSelected" [, 索引] 返回当前所选项目的文本参考 (如果"索引"设置为 1, 将返回所选项目的索引参考).
"GetText", "项目" 返回项目文本.
"IsChecked" 返回项目状态. 1:选中, 0:未选中, -1:没有复选框.
"Select", "项目" 选取项目.
"Uncheck", "项目" 项目非选中 (如果项目支持选择).


"项目" 参数是字符串型参数, 对于特定的 TreeVie 项目, 使用文本和索引组合. 索引基于 0 开始计算. 如下例:

主项1
----> 主项1的子项1
----> 主项1的子项2
----> 主项1的子项3
----> ----> 主项1的子项1的子项1
主项2
主项3

每一 "层次" 之间使用" | "分隔. 索引前面则带 # 符号. 例如:



项目 项目引用参考
主项2 "主项2" 或 "#1"
主项1的子项2 "主项1|主项1的子项2" 或 "#0|#1"
主项1的子项1的子项1 "主项1|主项1的子项3|主项1的子项1的子项1" 或 "#0|#2|#0"


引用参考可以是一个混合表达式,就像 "主项1|#1".

备 注

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

相 关 函 数

ControlCommand

函 数 示 例


; 作者:         Zedna

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

Local $gui = GUICreate("发送命令到 Treeview 测试", 212, 212)
Local $treeview = GUICtrlCreateTreeView(6, 6, 200, 160, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_CHECKBOXES), $WS_EX_CLIENTEDGE)
Local $h_tree = ControlGetHandle($gui, "", $treeview)

Local $root = GUICtrlCreateTreeViewItem("根项目", $treeview)
GUICtrlCreateTreeViewItem("项目 1", $root)
GUICtrlCreateTreeViewItem("项目 2", $root)
GUICtrlCreateTreeViewItem("项目 3", $root)
Local $item4 = GUICtrlCreateTreeViewItem("项目 4", $root)
GUICtrlCreateTreeViewItem("子项 41", $item4)
GUICtrlCreateTreeViewItem("子项 42", $item4)
GUICtrlCreateTreeViewItem("项目 5", $root)

GUISetState(@SW_SHOW)

; 发送命令的一些例子
ControlTreeView($gui, "", $h_tree, "Expand", "根项目")

ControlTreeView($gui, "", $h_tree, "Exists", "根项目|项目 4")
ControlTreeView($gui, "", $h_tree, "Check", "根项目|项目 4")
ControlTreeView($gui, "", $h_tree, "Select", "根项目|项目 4")
ControlTreeView($gui, "", $h_tree, "Expand", "根项目|项目 4")

While 1
    Local $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
    EndSelect
WEnd

provider with jb51.net (unicode)