树视控件的使用

来源:互联网 发布:政务云计算平台 编辑:程序博客网 时间:2024/04/30 01:01

TV_ITEM结构和TV_INSERTSTRCT结构的定义:

Code:
  1. typedef struct _TVITEM{   
  2.     UINT mask;          //说明TVITEM结构中哪些成员有效   
  3.     HTREEITEM hItem;    //项目句柄   
  4.     UINT state;         //项的状态   
  5.     UINT stateMask;     //状态有效的屏蔽位   
  6.     LPSTR pszText;      //项目名称   
  7.     int cchTextMax;     //pszText所指向的缓冲区的大小   
  8.     int iImage;         //当项目没有选中时关联图像列表的图像索引值   
  9.     int iSelectedImage; //当项目选中时关联图像列表的图像索引值   
  10.     int cChildren;      //该项目是否包含子项目   
  11.     LPARAM iParam;      //程序定义的32为参数   
  12. }TVITEM,FAR *LPTVITEM;   
  13. typedef struct _TVINSERTSTRUCT{   
  14.     HTREEITEM hParent;  //插入项的父项的句柄   
  15.     HTREEITEM hInsertAfter; //插入处上一项的句柄或位置标志值   
  16.     TV_ITEM item;       //插入的项目   
  17. }TVINSERTSTRUCT,FAR *LPTVINSERTSTRUCT;  

 树视控件常用的属性有:Has buttons表示父项目的前面有一个“+”或“—”按钮,单机该按钮可以展开或折叠该项目;Has lines表示用连线体现项目之间的层次关系;Edit labels表示可以编辑项目的名称;Check boxes表示项目的左侧有一个复选框;Lines at root表示在项目的最高层用连线将项目与根项目连接;Single expand表示单机项目可以展开或折叠该项目。

    封装树视控件的MFC类是CTreeCtrl类。CTreeCtrl类主要的成员函数有:SetImageList()函数设置与树视控件关联的图像列表;GetCount()函数返回控件中项目的数量;GetSelectedItem()函数返回当前选中的项目;GetNextItem()函数获得满足某种条件的项目;GetChildItem()或GetparentItem()函数返回一个项目的子项目或父项目;GetNextSiblingItem()或GetPrevSiblingItem()函数返回下一个或上一个兄弟项;GetRootItem()函数返回根项目;GetItemText()或SetItemText()函数用于获取或设置项目的文本串;GetItemData()或SetItemData()函数获得或设置项目的关联数据;InsertItem()函数插入一个项目;DeleteItem()函数删除一个项目;DeleteAllItem()函数删除所有项目;Expand()函数展开或者折叠项目。

 示例:

编写一个对话框应用程序MyTree,对话框中有一个树视控件和其他一些如图所示的按钮。树视控件用于显示一些有层次关系的项目,用户可通过“添加”或“删除”按钮向树视控件中添加或删除一个项目。

原创粉丝点击