找回密码
 加入
搜索
查看: 4691|回复: 6

[GUI管理] [已解决]TreeView控件节点的加号怎么变成像win7的那种三角号?

  [复制链接]
发表于 2014-2-18 18:42:27 | 显示全部楼层 |阅读模式
本帖最后由 autox 于 2014-2-20 10:57 编辑

TreeView控件节点的加号怎么变成像win7的那种三角号? 也就是  变成

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2014-2-19 18:50:15 | 显示全部楼层
_WinAPI_SetWindowTheme(GUICtrlGetHandle($hTreeView), 'Explorer')
#include <WinAPITheme.au3>
#include <WinAPISys.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiTreeView.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
If _WinAPI_GetVersion() < '6.0' Then
        MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Error', 'Require Windows Vista or later.')
        Exit
EndIf


$Debug_TV = False ; 检查传递给函数的类名, 设置为真并使用另一控件的句柄可以看出它是否有效

_Main()

Func _Main()

        Local $hItem, $hImage, $iImage, $hTreeView
        Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES)

        GUICreate("TreeView Add Child", 400, 300)

        $hTreeView = GUICtrlCreateTreeView(2, 2, 396, 268, $iStyle, $WS_EX_CLIENTEDGE)
        GUISetState()

        $hImage = _GUIImageList_Create(16, 16, 5, 3)
        _GUIImageList_AddIcon($hImage, "shell32.dll", 110)
        _GUIImageList_AddIcon($hImage, "shell32.dll", 131)
        _GUIImageList_AddIcon($hImage, "shell32.dll", 165)
        _GUIImageList_AddIcon($hImage, "shell32.dll", 168)
        _GUIImageList_AddIcon($hImage, "shell32.dll", 137)
        _GUIImageList_AddIcon($hImage, "shell32.dll", 146)
        _GUICtrlTreeView_SetNormalImageList($hTreeView, $hImage)

        _GUICtrlTreeView_BeginUpdate($hTreeView)
        For $x = 1 To Random(2, 10, 1)
                $iImage = Random(0, 5, 1)
                $hItem = _GUICtrlTreeView_Add($hTreeView, 0, StringFormat("[%02d] New Item", $x), $iImage, $iImage)
                For $y = 1 To Random(2, 10, 1)
                        $iImage = Random(0, 5, 1)
                        _GUICtrlTreeView_AddChild($hTreeView, $hItem, StringFormat("[%02d] New Child", $y), $iImage, $iImage)
                Next
        Next
        _GUICtrlTreeView_EndUpdate($hTreeView)
        _WinAPI_SetWindowTheme(GUICtrlGetHandle($hTreeView), 'Explorer')

        ; 循环直到用户退出
        Do
        Until GUIGetMsg() = $GUI_EVENT_CLOSE
        GUIDelete()
EndFunc   ;==>_Main
 楼主| 发表于 2014-2-20 10:49:07 | 显示全部楼层
回复 2# Ycxw2008

太感谢你了,终于实现了!这句代码好强大:_WinAPI_SetWindowTheme(GUICtrlGetHandle($hTreeView), 'Explorer')
发表于 2014-8-10 01:41:55 | 显示全部楼层
真的大开眼界,学习了!
发表于 2014-12-6 09:00:15 | 显示全部楼层
相当强大的代码
发表于 2015-3-16 20:06:33 | 显示全部楼层
相当强大,学习了!
发表于 2015-7-20 02:41:47 | 显示全部楼层
2楼的代码赞一个,这样设置样式美观多了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-18 16:35 , Processed in 0.081028 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表