创建TreeView控件
第一种方式
hwndTreeView=CreateWindow("SysTreeView32",
NULL,WS_CHILD|WS_VISIBLE|TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,
0,0,200,400,/*窗口坐标和大小*/
hWnd,/*父窗口句柄*/
(HMENU)0x1000,/*控件ID*/
g_hInstance,NULL);
第二种方式
hwndTreeView=CreateWindow(WC_TREEVIEW,
NULL,WS_CHILD|WS_VISIBLE|TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,
0,0,200,400,/*窗口坐标和大小*/
hWnd,/*父窗口句柄*/
(HMENU)0x1000,/*控件ID*/
g_hInstance,NULL);
TreeView控件风格
这些风格可以在创建的时候设置,也可以通过SetWindowLong来说修改。
TVS_DISABLEDRAGDROP
: 阻止发送TVN_BEGINDRAG
通知消息。TVS_EDITLABELS
:允许用户编辑项目的标签。TVS_FULLROWSELECT
:单击项目所在行的任何位置,都可以选择该项目,并高量显示整行,不能跟TVS_HASLINES样式合用 Version 4.71TVS_HASBUTTONS
:在根项目旁边显示+ -按钮,用户单击,展开或折叠其子项目,TVS_LINESATROOT
样式也设置才生效TVS_HASLINES
:显示分层项目时使用线TVS_INFOTIP
:Version 4.71 树型控件将发送TVN_GETINFOTIP
通知来取得tooltip信息TVS_LINESATROOT
:用线条将根项目连接起来,必须同时设置TVS_HASLINES才能生效TVS_NONEVENHEIGHT
:Version 4.71 发送TVM_SETITEMHEIGHT
消息设置项目的高度为一个even value将失效TVS_NOSCROLL
:Version 4.71 始终没有水平或垂直滚动条TVS_NOTOOLTIPS
Version 4.70 不支持tooltipTVS_RTLREADING
Version 4.70. 文本右到左的顺序显示on Hebrew or Arabic systems.TVS_SHOWSELALWAYS
:树型控件失去焦点后,被选择的项目仍保持选择TVS_SINGLEEXPAND
:Version 4.71 选择的项目自动展开,没有选择的项目自动折叠 原来项目是折叠的,单击展开,原来项目是展开的,单击折叠TVS_TRACKSELECT
:Version 4.70 鼠标移到项目上变成手形 Enables hot tracking in a tree view control.