VC中的树形控件
树形控件可以显示出各项之间的层次关系,因此在VC中很常用。
1、树形控件的常用风格
TVS_HASBUTTONS 在父项目前显示+、-。用户可以通过点击该符号来打开或收起子项
TVS_HASLINES 在层次中用线条来连接各个项目名称。
TVS_LINESATROOT 在根目录下的项目也用线连接。
2、树形控件的数据结构
1.HTREEITEM句柄
树形控件的每个节点都可以由一个TREEITEM类型的句柄表示。我们通过CTreeCtrl类的成员函数对树进行访问和操作时都需要使用到HTREEITEM句柄。
2.TVITEM结构体
TVITEM结构体描述了树形控件节点的属性,定义如下:
3.NMTREEVIEW结构体
NMTREEVIEW结构体中包含了树形控件通知消息的相关信息。树形控件的大多通知消息都会带有指向该结构体的指针。其中itemOld包含原来选择项信息,itemNew包含新选择项的信息。定义如下:
4.TVINSERTRUCT结构体
向树形控件插入新节点需要使用到TVINSERTSTRUCT结构体,它常与TVM_INSERTITEM消息一起使用。定义如下:
5.NMTVDISPINFO结构体
NMTVDISPINFO结构体中包含了与树形节点的显示有关的消息。定义如下:
3、树形视图控件CTreeCtrl类的主要成员函数
参考:树形空间的使用