首页 > 代码库 > 创建TreeView控件

创建TreeView控件

第一种方式

  1. hwndTreeView=CreateWindow("SysTreeView32",
  2. NULL,WS_CHILD|WS_VISIBLE|TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,
  3. 0,0,200,400,/*窗口坐标和大小*/
  4. hWnd,/*父窗口句柄*/
  5. (HMENU)0x1000,/*控件ID*/
  6. g_hInstance,NULL);

第二种方式

  1. hwndTreeView=CreateWindow(WC_TREEVIEW,
  2. NULL,WS_CHILD|WS_VISIBLE|TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,
  3. 0,0,200,400,/*窗口坐标和大小*/
  4. hWnd,/*父窗口句柄*/
  5. (HMENU)0x1000,/*控件ID*/
  6. g_hInstance,NULL);

TreeView控件风格

这些风格可以在创建的时候设置,也可以通过SetWindowLong来说修改。

  • TVS_DISABLEDRAGDROP : 阻止发送TVN_BEGINDRAG通知消息。
  • TVS_EDITLABELS :允许用户编辑项目的标签。
  • TVS_FULLROWSELECT :单击项目所在行的任何位置,都可以选择该项目,并高量显示整行,不能跟TVS_HASLINES样式合用 Version 4.71
  • TVS_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 不支持tooltip
  • TVS_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.


来自为知笔记(Wiz)


创建TreeView控件