aardio 文档

win.ui.ctrl.treeview 库模块帮助文档

win.ui.ctrl 成员列表

win.ui.ctrl.treeview()

树形视图控件

返回对象:treeviewObject

treeviewObject 成员列表

treeviewObject._parentForm

控件所在的父窗口(指win.form对象)

返回对象:winform

treeviewObject.addCtrl

treeviewObject.addCtrl(  
    button={ cls="button";text="button";left=33;top=32;right=126;bottom=81;autoResize=false }    
)

treeviewObject.adjust

treeviewObject.adjust = function( cx,cy,wParam ) {     
    /*窗口缩放时会自动触发此函数。  
cx 参数为窗口宽度,cy 参数为窗口高度,  
wParam 参数请参考 _WM_SIZE 消息参数说明,一般不用管。  

所有 win.form 创建的窗体和控件都支持此事件,  
重复赋值只会追加而不会覆盖此事件。  
一般不建议添加一个 wndproc 仅仅是为了处理  _WM_SIZE 消息,  
定义 adjust 事件是更好的选择。  

可主动调用此事件,省略参数时 cx,cy 参数默认设为窗口大小*/    
};

treeviewObject.bottom

底部坐标

treeviewObject.capture

是否捕获全局鼠标消息

treeviewObject.checkAll(节点句柄,是否选中)

勾选或取消勾选所有下级子节点
并且更新所有上级父节点的勾选状态为:是否有任意的子节点是勾选状态
参数@1如果不指定则表示根节点(_TVI_ROOT)
参数@2不指定则默认赋值为true

treeviewObject.className

运行时类名

treeviewObject.clear

清空节点

treeviewObject.clear()

清空所有节点

treeviewObject.clear(hItem)

清空参数指定节点的所有子节点,
@hItem 参数指定节点句柄

treeviewObject.close()

关闭控件窗口

treeviewObject.cls

设计时类名

treeviewObject.collapse(hItem)

折叠项
参数为节点句柄,省略则取当前选中项

treeviewObject.collapseReset(hItem)

折叠并删除子项
参数为节点句柄,省略则取当前选中项

treeviewObject.count

获取项目总数

treeviewObject.delItem(hItem节点句柄)

删除节点
参数:节点句柄

treeviewObject.disabled

是否禁用

treeviewObject.each(父节点句柄)

for hChild in treeviewObject.each(){
    /*遍历父节点句柄的下级子级点  
不包含子节点的子节点*/
}

treeviewObject.editLabel(hItem)

开始编辑项,参数为节点句柄

treeviewObject.endEdit()

结束编辑并

treeviewObject.endEdit(true)

结束编辑并取消

treeviewObject.ensureVisible(hItem)

确保指定项目是可见的,通过展开父项目或滚动树型控件窗,
参数为节点句柄

treeviewObject.enum(回调函数,节点句柄)

treeviewObject.enum(  
    function(hItem,parent){  
        /*枚举所有下级子节点,  
hItem为当前节点,parent为当前节点的父节点  
返回false停止枚举*/  
    }  
)

treeviewObject.enumParent(回调函数,节点句柄)

treeviewObject.enumParent(  
    function(parent,child){  
        /*枚举所有上级父节点,  
parent为当前父节点,child为该节点的子节点  
child是上一次枚举到的父节点或者自身  
返回false停止枚举*/  
    }  
)

treeviewObject.expand(hItem)

展开项
参数为节点句柄,省略则取当前选中项

treeviewObject.expandAll(hItem)

展开指定项,并展开指定项的所有下级子级点
包含子级点的所有下级子节点都会被展开

treeviewObject.expandPartial(hItem)

部分展开
参数为节点句柄,省略则取当前选中项

treeviewObject.expandTo(hItem)

展开项以及其所有上级父节点
参数为节点句柄,省略则取当前选中项

treeviewObject.find(父节点,"子项标题",...)

查找子项,展开上级父节点,
可以用多个文本参数多级向下查找子项,
父节点参数可省略,参数也可以是一个字符串数组

treeviewObject.findPath(父节点,"路径\子项")

按路径查找子项,展开上级父节点
父节点参数可省略不写,默认为根节点,

treeviewObject.getChecked(hItem节点句柄)

返回指定项的复选框是否勾选

treeviewObject.getChildItem(hItem节点句柄)

返回子节点
参数:节点句柄

treeviewObject.getChildren(hItem)

返回包含节点所有子节点句柄的数组,
@hItem 参数指定节点句柄

treeviewObject.getClientRect()

控件客户区块位置(::RECT结构体)

返回对象:rectObject

treeviewObject.getEditControl()

开始编辑时返回编辑控件,
此控件在完成编辑后会自动销毁,不必手动销毁
取消发送_WM_CANCELMODE消息即可

返回对象:editObject

treeviewObject.getEditHwnd()

返回编辑文本框句柄;

treeviewObject.getFirst()

返回树视图中的第一个节点
也即_TVI_ROOT的第一个子节点

treeviewObject.getFirstVisible()

返回第一个可见节点
参数:节点句柄

treeviewObject.getFont()

控件字体(::LOGFONT结构体)

返回对象:logfontObject

treeviewObject.getImageList( _TVSIL )

获取图像列表,
可选使用 LVSIL 前缀常量指定类型

treeviewObject.getItem()

返回TVITEM对象,参数为TVITEM结构体或指定部分成员的table对象.
参数一也可以是空值,或树节点句柄
如果参数未指定节点句柄,则取当前选中节点

返回对象:tvitemObject

treeviewObject.getItemData(hItem)

返回节点关联数据

treeviewObject.getItemPath(节点句柄)

返回节点路径,以反斜杠分隔父子项目文本
省略节点参数则取当前选中节点

treeviewObject.getItemRect(hItem)

返回句柄指定节点整行区块(RECT对象)
省略节点句柄则取当前选中节点

treeviewObject.getItemRect(hItem,true)

返回句柄指定节点文本区块(RECT对象)
省略节点句柄则取当前选中节点

treeviewObject.getItemText(节点句柄,缓冲区长度)

返回节点文本
省略节点参数则取当前选中节点
缓冲区长度参数可省略,默认为100

treeviewObject.getNextItem(hItem节点句柄)

返回下一个节点,
第二个参数可选使用 TVNI 前缀的常量指定选项

treeviewObject.getNextSibling (hItem节点句柄)

返回后面的兄弟节点
参数:节点句柄

treeviewObject.getNextVisible(hItem节点句柄)

返回下一个可见节点
参数:节点句柄

treeviewObject.getNotifyCustomDraw()

返回对象:NMTVCUSTOMDRAWObject

treeviewObject.getNotifyCustomDraw(code,ptr)

NM_CUSTOMDRAW通知消息返回NMLVCUSTOMDRAW结构体

treeviewObject.getNotifyDispInfo()

返回对象:TVDISPINFOObject

treeviewObject.getNotifyDispInfo(code,ptr)

该函数限用于onnotify通知回调函数中
code参数为通知码,ptr参数为NMHDR指针
如果NMHDR指针指向TV_DISPINFO对象则返回该对象,否则返回空值

treeviewObject.getNotifyMessage()

返回对象:NMTREEVIEWObject

treeviewObject.getNotifyMessage(code,ptr)

该函数限用于onnotify通知回调函数中
code参数为通知码,ptr参数为NMHDR指针
如果code不是大于_TVN_FIRST,并小于_TVN_LAST的消息,
该函数返回空值,否则返回NMTREEVIEW对象.

treeviewObject.getParent()

返回父窗口

treeviewObject.getParentItem(hItem节点句柄)

返回父节点
参数:节点句柄

treeviewObject.getParentItemData(hItem)

返回父节点关联数据

treeviewObject.getPos()

返回相对坐标,宽,高
x,y,cx,cy=win.getPos(hwnd)

treeviewObject.getPrevSibling(hItem节点句柄)

返回前面的兄弟节点
参数:节点句柄

treeviewObject.getPrevVisible(hItem节点句柄)

返回上一个可见节点
参数:节点句柄

treeviewObject.getRect()

控件区块位置(::RECT结构体)

treeviewObject.getRect(true)

控件屏幕区块位置(::RECT结构体)

treeviewObject.getRoot()

返回根节点( TVI_ROOT )
注意TVI_ROOT的子节点并没有父节点

treeviewObject.getSelection()

返回当前选中节点

treeviewObject.height

高度

treeviewObject.hide

控件是否隐藏

treeviewObject.hitTest(x坐标,y坐标,是否屏幕坐标)

该函数返回指定坐标的句柄,参数三可省略,默认为false.
如果不指定任何参数,则自动调用 win.getMessagePos() 获取消息坐标
第二个返回值指定测试结果,该值可以是一个或多个_TVHT_开头的常量组合

treeviewObject.hwnd

控件句柄

treeviewObject.id

控件ID

treeviewObject.imageList

获取设置图像列个
支持 win.imageList 对象

treeviewObject.insertItem("插入文本",父项,前面的子项)

参数@1可以是普通文本,
可使用数组添加多个兄弟节点,使用children成员添加多个子节点
参数@2指定父项(可省略),参数@3指定插入位置前面的子项(可省略)
返回新节点句柄,示例
var item = winform.treeview.insertItem("子节点",item)

treeviewObject.insertItem(插入TVITEM结构体,父项,前面的子项)

参数@1可以是TVITEM结构体或指定部分成员的table对象
参数@1可使用数组添加多个兄弟节点,使用children成员添加多个子节点
此函数可自动检测非空成员并自动设定相应mask位
参数@2指定父项(可省略),参数@3指定插入位置前面的子项(可省略)
返回新节点句柄,示例

var item = winform.treeview.insertItem( text = "根目录" )

treeviewObject.insertItem(数据表,父项,前面的子项)

参数@1可以使用string.xml对象,
或者使用相同结构的普通表对象,
每个节点对象必须指定tagName或text属性,
treeview按text,label,title,name,tagName的顺序确定显示标题
每个节点可以用数组包含子节点(但节点本身必须指定tagName或text属性)
也可以使用children成员指向一个数组表示多个子节点
参数@2指定父项(可省略),参数@3指定插入位置前面的子项(可省略)
返回新节点句柄,

此用法请参考aardio范例中的treeview控件演示、
以及fsys.asar下面几个库的treeData函数

treeviewObject.insertTable

显示表对象中的名值对以及数组

treeviewObject.insertTable(tab,hParent)

显示表对象中的名值对以及数组,
支持显示嵌套表,表中不应出现循环引用的成员,
可选用hParent指定父节点句柄

treeviewObject.invalidate(/*可选使用::RECT()对象指定客户区*/)

使窗口绘图区无效

treeviewObject.invalidate(/*可选使用::RECT()对象指定客户区*/,0)

使窗口绘图区无效
不刷新背景

treeviewObject.isExpanded(hItem)

节点是否展开状态

treeviewObject.isExpandedOnce(hItem)

节点是否至少展开过一次

treeviewObject.left

左侧坐标

treeviewObject.modifyStyle(remove,add,swpFlags)

修改窗口样式,所有参数都是可选参数,
@remove 用数值指定要移除的样式,可使用 WS 前缀的常量
@add 用数值指定要添加的样式,可使用 WS 前缀的常量
@swpFlags 可选用数值指定调整窗口选项,可使用 SWP 前缀的常量
如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos
细节请参考 win.modifyStyle 函数源码

treeviewObject.modifyStyleEx(remove,add,swpFlags)

修改窗口扩展样式,所有参数都是可选参数,
@remove 用数值指定要移除的样式,可使用 WS_EX 前缀的常量
@add 用数值指定要添加的样式,可使用 WS_EX 前缀的常量
@swpFlags 可选用数值指定调整窗口选项,可使用 SWP 前缀的常量
如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos
细节请参考 win.modifyStyle 函数源码

treeviewObject.onClick

treeviewObject.onClick = function(hItem,data){
    /*单击节点触发此事件,  
hItem 为当前节点句柄,data 为该节点绑定的自定义数据。  
可返回 true 阻止默认处理。  
注意在双击后控件自动获取焦点。*/ 
}

treeviewObject.onDestroy

treeviewObject.onDestroy = function(){  
    /*窗口销毁前触发*/  
}

treeviewObject.onDoubleClick

treeviewObject.onDoubleClick = function(hItem,data){
    /*双击节点触发此事件,  
hItem 为当前节点句柄,data 为该节点绑定的自定义数据。  
可返回 true 阻止默认处理*/
}

treeviewObject.onRightClick

treeviewObject.onRightClick = function(hItem,data){
    /*右键点击节点触发此事件,  
hItem 为当前节点句柄,data 为该节点绑定的自定义数据*/   
}

treeviewObject.onSelChanged

treeviewObject.onSelChanged = function(hItem,data,nmTreeView){
    /*改娈当前节点触发此事件,  
hItem 为当前节点句柄,data 为该节点绑定的自定义数据。  
nmTreeView 为 NMTREEVIEW 结构体参数*/
}

treeviewObject.onStateImageChanging

treeviewObject.onStateImageChanging = function(hItem,checked,newImgIndex,oldImgIndex){

     /*状态图像(通常指复选框)变更触发此事件。  
hItem 为树视图的变更节点句柄。  
checked 为是否切换到勾选图像索引,也就是 2。  
newImgIndex,oldImgIndex 分别为新旧状态图像索引。  
注意勾选操作并不改变当前节点,默认勾选完成会弹回原来的选中节点。  
可调用 setSelected 函数选中当前操作的节点 */
     //选定节点
     winform.treeview.setSelected(hItem);
}

treeviewObject.oncommand

treeviewObject.oncommand = function(id,event){  
    /*命令事件触发*/  
}

treeviewObject.onnotify

treeviewObject.onnotify = function(id,code,ptr){  
    /*通知事件触发*/  
}

treeviewObject.orphanWindow(transparent,hwndBuddy)

创建悬浮窗口,
悬浮窗口仍然显示在原来的位置,
悬浮窗口如影随形的跟随父窗口移动或改变大小,控件原来的固定边距等参数仍然有效
此控件不建议指定参数

treeviewObject.postMessage(msg,wParam,lParam)

投递窗口消息到消息队列中
此函数用法请参考 ::User32.PostMessage

treeviewObject.redraw()

刷新

treeviewObject.right

右侧坐标

treeviewObject.selDropHiLite(hItem)

选定节点
似拖放操作的目标项目高亮显示
参数指定节点句柄

treeviewObject.selFirstVisible(hItem)

选定节点并设置到可视区第一行
参数指定节点句柄

treeviewObject.sendMessage(msg,wParam,lParam)

发送窗口消息
此函数用法请参考 ::User32.SendMessage

treeviewObject.setChecked(节点句柄,是否选中)

勾选指定项的复选框
参数@2,默认值是true

treeviewObject.setFocus()

设置焦点

treeviewObject.setFont(指定字体)

指定LOGFONT字体对象,或逻辑字体句柄

treeviewObject.setFont(混入字体属性)

treeviewObject.setFont(point=10;name="宋体");

treeviewObject.setImageList( imageList,_TVSIL )

指定图像列表,
可选使用 LVSIL 前缀常量指定类型
treeview控件不负责销毁图像列表,用户应在控件不再使用图像列表后释放图像列表。

treeviewObject.setItem()

更新项节点,参数为TVITEM结构体或指定部分成员的table对象
如果参数未指定节点句柄,则取当前选中节点
成功返回true;
此函数可自动检测非空成员并自动设定相应mask位

treeviewObject.setItemData(hItem,data)

设置关联数据
data可以是任意对象
如果添加项时使用的参数是表而不是结构体,默认设置为关联数据

treeviewObject.setItemText(节点句柄,文本)

设置节点文本
省略节点参数则取当前选中节点

treeviewObject.setParent(控件对象)

改变父窗口

treeviewObject.setPos(x坐标,y坐标,宽,高,插入位置,参数)

调整窗口位置或排序,所有参数可选
同时指定x,y坐标则移动位置
同时指定宽高则改变大小
指定插入位置(句柄或_HWND前缀常量)则调整Z序

treeviewObject.setRect(rc)

设置控件区块位置(::RECT结构体)

treeviewObject.setRect(rc,true)

设置控件屏幕区块位置(::RECT结构体)

treeviewObject.setRedraw(false)

禁止重绘

treeviewObject.setRedraw(true)

恢复重绘

treeviewObject.setSelected()

不选定任何节点

treeviewObject.setSelected(hItem)

选定节点
参数指定节点句柄

treeviewObject.show(true)

显示控件

treeviewObject.text

控件文本

treeviewObject.theme

外观主题,例如
winform.button.theme = "Explorer"
winform.button.theme = false

treeviewObject.threadCallable()

开启此控件的跨线程调用功能

treeviewObject.toggle(hItem)

折叠的就展开,展开的就折叠
参数为节点句柄,省略则取当前选中项

treeviewObject.top

顶部坐标

treeviewObject.translateCommand()

允许转发转发子窗口的命令(_WM_COMMAND)与通知(_WM_NOTIFY)消息,
避免子窗口 oncommand,onnotify 等回调失效。
同时会处理子窗口的 _WM_CTLCOLORSTATIC 等消息,
以避免部分外观属性失效

treeviewObject.update()

重绘invalidate函数指定的区块

treeviewObject.valid

窗口是否有效,
窗口未关闭返回 true ,
窗口已关闭或正在关闭返回 false

treeviewObject.visibleCount

获取可见项总数

treeviewObject.width

宽度

treeviewObject.wndproc

treeviewObject.wndproc = function(hwnd,message,wParam,lParam){  
    /*窗口消息回调,返回任意非null值阻止默认回调  
wndproc重复赋值时追加函数而不是覆盖之前的回调  
设为null添除所有消息回调函数  
wndproc也可以是一个表,键要为处理的消息,值为对应的消息回调函数*/     
}

全局对象 成员列表

_LPSTR_TEXTCALLBACK

topointer(-1)

_TVI_FIRST

treeview中表示同级节点中第一个节点的伪句柄

_TVI_LAST

treeview中表示同级节点中最后一个节点的伪句柄

_TVI_ROOT

treeview中表示根节点的伪句柄

_TVI_SORT

topointer(-0x0FFFD)/*_TVI_SORT*/

NMTREEVIEWObject 成员列表

NMTREEVIEWObject.action

0;

NMTREEVIEWObject.hdr

返回对象:nmhdrObject

NMTREEVIEWObject.itemNew

返回对象:tvitemObject

NMTREEVIEWObject.itemOld

返回对象:tvitemObject

NMTREEVIEWObject.ptDrag

返回对象:pointObject

NMTVCUSTOMDRAWObject 成员列表

NMTVCUSTOMDRAWObject.clrText

文字颜色

NMTVCUSTOMDRAWObject.clrTextBk

文字背景色

NMTVCUSTOMDRAWObject.iLevel

嵌套级别

NMTVCUSTOMDRAWObject.nmcd.dwDrawStage

绘图状态

NMTVCUSTOMDRAWObject.nmcd.dwItemSpec

行序号

NMTVCUSTOMDRAWObject.nmcd.hdc

设置句柄

NMTVCUSTOMDRAWObject.nmcd.hdr

返回对象:nmhdrObject

NMTVCUSTOMDRAWObject.nmcd.lItemlParam

lItemlParam

NMTVCUSTOMDRAWObject.nmcd.rc

返回对象:rectObject

NMTVCUSTOMDRAWObject.nmcd.uItemState

uItemState

NMTVCUSTOMDRAWObject.update()

更新数据

TVDISPINFOObject 成员列表

TVDISPINFOObject.hdr

返回对象:nmhdrObject

TVDISPINFOObject.item

返回对象:tvitemObject

tvitemObject 成员列表

tvitemObject.cChildren

子项目数目
如果为-1则向父窗体发送_TVN_GETDISPINFO通知消息

tvitemObject.cchTextMax

取文本时可在此指定缓冲区长度

tvitemObject.hItem

节点句柄

tvitemObject.iImage

项目非选取状态下,要使用的image在图象列表中的索引

tvitemObject.iSelectedImage

项目选取状态下,要使用的image在图象列表中的索引

tvitemObject.lParam

数值

tvitemObject.mask

可使用一个或多个TVIF_开头的常量组合
以指定当前结构体哪些成员有效

tvitemObject.state

可使用一个或多上TVIS_开头的常量组合

tvitemObject.stateMask

数值

tvitemObject.text

文本

全局常量

_LPSTR_TEXTCALLBACK

topointer(-1)

_TVI_FIRST

treeview中表示同级节点中第一个节点的伪句柄

_TVI_LAST

treeview中表示同级节点中最后一个节点的伪句柄

_TVI_ROOT

treeview中表示根节点的伪句柄

_TVI_SORT

topointer(-0x0FFFD)/*_TVI_SORT*/

自动完成常量

_I_CHILDRENCALLBACK=-1
_I_IMAGECALLBACK=-1
_TVE_COLLAPSE=1
_TVE_EXPAND=2
_TVE_TOGGLE=3
_TVGN_CARET=9
_TVGN_CHILD=4
_TVGN_DROPHILITE=8
_TVGN_FIRSTVISIBLE=5
_TVGN_LASTVISIBLE=0xA
_TVGN_NEXT=1
_TVGN_NEXTSELECTED=0xB
_TVGN_NEXTVISIBLE=6
_TVGN_PARENT=3
_TVGN_PREVIOUS=2
_TVGN_PREVIOUSVISIBLE=7
_TVGN_ROOT=0
_TVHT_ABOVE=0x100
_TVHT_BELOW=0x200
_TVHT_NOWHERE=1
_TVHT_ONITEM=0x46
_TVHT_ONITEMBUTTON=0x10
_TVHT_ONITEMICON=2
_TVHT_ONITEMINDENT=8
_TVHT_ONITEMLABEL=4
_TVHT_ONITEMRIGHT=0x20
_TVHT_ONITEMSTATEICON=0x40
_TVHT_TOLEFT=0x800
_TVHT_TORIGHT=0x400
_TVIF_CHILDREN=0x40
_TVIF_EXPANDEDIMAGE=0x200
_TVIF_HANDLE=0x10
_TVIF_IMAGE=2
_TVIF_INTEGRAL=0x80
_TVIF_PARAM=4
_TVIF_SELECTEDIMAGE=0x20
_TVIF_STATE=8
_TVIF_STATEEX=0x100
_TVIF_TEXT=1
_TVIS_BOLD=0x10
_TVIS_CUT=4
_TVIS_DROPHILITED=8
_TVIS_EXPANDED=0x20
_TVIS_EXPANDEDONCE=0x40
_TVIS_EXPANDPARTIAL=0x80
_TVIS_EX_ALL=2
_TVIS_EX_DISABLED=2
_TVIS_EX_FLAT=1
_TVIS_OVERLAYMASK=0xF00
_TVIS_SELECTED=2
_TVIS_STATEIMAGEMASK=0xF000
_TVIS_USERMASK=0xF000
_TVM_CREATEDRAGIMAGE=0x1112
_TVM_DELETEITEM=0x1101
_TVM_EDITLABELW=0x1141
_TVM_ENDEDITLABELNOW=0x1116
_TVM_ENSUREVISIBLE=0x1114
_TVM_GETCOUNT=0x1105
_TVM_GETIMAGELIST=0x1108
_TVM_GETINDENT=0x1106
_TVM_GETINSERTMARKCOLOR=0x1126
_TVM_GETISEARCHSTRINGA=0x1117
_TVM_GETISEARCHSTRINGW=0x1140
_TVM_GETITEMHEIGHT=0x111C
_TVM_GETITEMRECT=0x1104
_TVM_GETITEMSTATE=0x1127
_TVM_GETITEMW=0x113E
_TVM_GETLINECOLOR=0x1129
_TVM_GETNEXTITEM=0x110A
_TVM_GETSCROLLTIME=0x1122
_TVM_GETTOOLTIPS=0x1119
_TVM_GETVISIBLECOUNT=0x1110
_TVM_HITTEST=0x1111
_TVM_INSERTITEMW=0x1132
_TVM_SETIMAGELIST=0x1109
_TVM_SETINDENT=0x1107
_TVM_SETINSERTMARK=0x111A
_TVM_SETINSERTMARKCOLOR=0x1125
_TVM_SETITEMHEIGHT=0x111B
_TVM_SETITEMW=0x113F
_TVM_SETLINECOLOR=0x1128
_TVM_SETSCROLLTIME=0x1121
_TVM_SETTOOLTIPS=0x1118
_TVM_SORTCHILDREN=0x1113
_TVM_SORTCHILDRENCB=0x1115
_TVNRET_DEFAULT=0
_TVNRET_SKIPNEW=2
_TVNRET_SKIPOLD=1
_TVN_ASYNCDRAW=0xFFFFFE5C
_TVN_BEGINDRAGW=0xFFFFFE38
_TVN_BEGINLABELEDITW=0xFFFFFE35
_TVN_BEGINRDRAGW=0xFFFFFE37
_TVN_DELETEITEMW=0xFFFFFE36
_TVN_ENDLABELEDITW=0xFFFFFE34
_TVN_FIRST=0xFFFFFE70
_TVN_GETDISPINFOW=0xFFFFFE3C
_TVN_GETINFOTIPW=0xFFFFFE62
_TVN_ITEMCHANGEDW=0xFFFFFE5D
_TVN_ITEMCHANGINGW=0xFFFFFE5F
_TVN_ITEMEXPANDEDW=0xFFFFFE39
_TVN_ITEMEXPANDINGW=0xFFFFFE3A
_TVN_KEYDOWN=0xFFFFFE64
_TVN_LAST=0xFFFFFE0D
_TVN_SELCHANGEDW=0xFFFFFE3D
_TVN_SELCHANGINGW=0xFFFFFE3E
_TVN_SINGLEEXPAND=0xFFFFFE61
_TVSIL_NORMAL=0
_TVSIL_STATE=2
_TVSI_NOSINGLEEXPAND=0x8000
_TVS_DISABLEDRAGDROP=0x10
_TVS_EX_AUTOHSCROLL=0x20
_TVS_EX_DIMMEDCHECKBOXES=0x200
_TVS_EX_DOUBLEBUFFER=4
_TVS_EX_DRAWIMAGEASYNC=0x400
_TVS_EX_EXCLUSIONCHECKBOXES=0x100
_TVS_EX_FADEINOUTEXPANDOS=0x40
_TVS_EX_MULTISELECT=2
_TVS_EX_NOINDENTSTATE=8
_TVS_EX_PARTIALCHECKBOXES=0x80
_TVS_EX_RICHTOOLTIP=0x10
_TVS_NONEVENHEIGHT=0x4000
_TVS_RTLREADING=0x40
_TVS_SHOWSELALWAYS=0x20
_TVS_TRACKSELECT=0x200
_TV_FIRST=0x1100

Markdown 格式