#include <GuiTreeView.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $sTest
Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES)
$hGUI = GUICreate("Treeview", 400, 300)
$Treeview = GUICtrlCreateTreeView(2, 2, 180, 294, $iStyle, $WS_EX_CLIENTEDGE)
$Fonts1 = GUICtrlCreateTreeViewItem("项目1", $Treeview)
GUICtrlCreateTreeViewItem("项目1-1", $Fonts1)
GUICtrlCreateTreeViewItem("项目1-2", $Fonts1)
GUICtrlCreateTreeViewItem("项目1-3", $Fonts1)
GUICtrlSetState($Fonts1, $GUI_EXPAND)
$Fonts2 = GUICtrlCreateTreeViewItem("项目2", $Treeview)
GUICtrlCreateTreeViewItem("项目2-1", $Fonts2)
GUICtrlCreateTreeViewItem("项目2-2", $Fonts2)
GUICtrlCreateTreeViewItem("项目2-3", $Fonts2)
GUICtrlSetState($Fonts2, $GUI_EXPAND)
$Button1 = GUICtrlCreateButton("获取", 264, 96, 75, 25, $WS_GROUP)
GUISetState()
While 1
Switch GUIGetMsg()
Case - 3
Exit
Case $Button1
$sTest = ''
For $i = 4 To 11
If BitAND(GUICtrlRead($i), $GUI_CHECKED) Then $sTest &= _GUICtrlTreeView_GetText($Treeview, $i) & @CRLF
Next
MsgBox(0, '被选项目文本', $sTest)
EndSwitch
WEnd
GUI_CHECKED函数:
由于复选框, 单选框控件的一些状态能返回 $GUI_FOCUS 和 $GUI_CHECKED ,因此可以使用 BitAnd(GUICtrlRead($Item),$GUI_CHECKED) 测试控件是否被选中.
由于 Listview 项目的一些状态能返回 $GUI_CHECKED 和 $GUI_UNCHECKED ,(仅在 listview 控件有 LVS_EX_CHECKBOXES-扩展样式与使用高级模式时) . 因此可以使用 BitAnd(GUICtrlRead($Item),$GUI_CHECKED) 测试项目是否被选中.
由于 Treeview 项目的一些状态能返回 $GUI_FOCUS, $GUI_EXPAND 与 $GUI_CHECKED, $GUI_UNCHECKED (仅当 treeview 控件有 TVS_CHECKBOXES-样式时). 因此可以使用 BitAnd(GUICtrlRead($Item),$GUI_CHECKED) 测试项目是否被选中.

浙公网安备 33010602011771号