函数说明

GUICtrlCreateTreeView

在GUI上创建一个 TreeView 控件。

GUICtrlCreateTreeView ( 左侧, 上方 [, 宽度 [, 高度 [, 风格 [, 扩展风格]]]] )

 

参数

left 控件左侧的位置。若此值为 -1 则根据 GUICoordMode 的设置来计算左侧位置。
上方 控件上方的位置。若此值为 -1 则根据 GUICoordMode 的设置来计算上方位置。
宽度 [可选参数] 控件的宽度(默认值为上一个控件的宽度)。
高度 [可选参数] 控件的高度(默认值为上一个控件的高度)。
风格 [可选参数] 指定控件的风格。请查看附录中关于 GUI 控件风格 的说明。

默认值(-1):$TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS
强制性风格: $WS_TABSTOP
扩展风格 [可选参数] 指定控件的扩展风格。请查看附录的 扩展风格表

 

返回值

成功: 返回控件标识符(控件ID)。
失败: 返回值为0。

 

注意

若要设置或修改控件的各种信息请查看 GUICtrlSet....

要在默认风格的基础上添加一个新的风格可使用 BitOr($GUI_SS_DEFAULT_TREEVIEW, 新风格,...)。

 

相关

GUICtrlCreateTreeViewItem, GUICoordMode(选项), GUICtrlSet..., GUIGetMsg, GUICtrlRead

 

示例


#include <GUIConstants.au3>

GUICreate("我的 GUI 之 treeview",350,212)

$treeview = GUICtrlCreateTreeView (6,6,100,150,BitOr($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_LINESATROOT,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS),$WS_EX_CLIENTEDGE)
$generalitem = GUICtrlCreateTreeViewitem ("常规",$treeview)
$displayitem = GUICtrlCreateTreeViewitem ("显示",$treeview)
$aboutitem = GUICtrlCreateTreeViewitem ("关于",$generalitem)
$compitem = GUICtrlCreateTreeViewitem ("计算机",$generalitem)
$useritem = GUICtrlCreateTreeViewitem ("用户",$generalitem)
$resitem = GUICtrlCreateTreeViewitem ("分辨率",$displayitem)
$otheritem = GUICtrlCreateTreeViewitem ("其它",$displayitem)

$startlabel = GUICtrlCreateLabel ("TreeView Demo",190,90,100,20)
$aboutlabel = GUICtrlCreateLabel ("这个简单的脚本演示了 TreeView 控件的用法。",190,70,100,60)
GUICtrlSetState(-1,$GUI_HIDE)
$compinfo = GUICtrlCreateLabel ("用户名:" & @TAB & @ComputerName & @LF & "系统:" & @TAB & @OSVersion & @LF & "补丁:" & @TAB & @OSServicePack,120,30,200,80)
GUICtrlSetState(-1,$GUI_HIDE)

$okbutton = GUICtrlCreateButton ("确定",100,185,70,20)
$cancelbutton = GUICtrlCreateButton ("取消",180,185,70,20)

GUISetState ()
While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $cancelbutton Or $msg = $GUI_EVENT_CLOSE
            ExitLoop
   
        Case $msg = $generalitem
            GUIChangeItems($aboutlabel,$compinfo,$startlabel,$startlabel)
       
        Case $msg = $aboutitem
            GUICtrlSetState ($compinfo,$GUI_HIDE)
            GUIChangeItems($startlabel,$startlabel,$aboutlabel,$aboutlabel)
           
        Case $msg = $compitem
            GUIChangeItems($startlabel,$aboutlabel,$compinfo,$compinfo)
    EndSelect
WEnd

GUIDelete()
Exit

Func GUIChangeItems($hidestart,$hideend,$showstart,$showend)
    Local $idx,$hidestart,$hideend,$showstart,$showend
   
    For $idx = $hidestart To $hideend
        GUICtrlSetState ($idx,$GUI_HIDE)
    Next
    For $idx = $showstart To $showend
        GUICtrlSetState ($idx,$GUI_SHOW)
    Next   
EndFunc