TV_ITEM结构和TV_INSERTSTRCT结构的定义:
- typedefstruct_TVITEM{
- UINTmask;//说明TVITEM结构中哪些成员有效
- HTREEITEMhItem;//项目句柄
- UINTstate;//项的状态
- UINTstateMask;//状态有效的屏蔽位
- LPSTRpszText;//项目名称
- intcchTextMax;//pszText所指向的缓冲区的大小
- intiImage;//当项目没有选中时关联图像列表的图像索引值
- intiSelectedImage;//当项目选中时关联图像列表的图像索引值
- intcChildren;//该项目是否包含子项目
- LPARAMiParam;//程序定义的32为参数
- }TVITEM,FAR*LPTVITEM;
- typedefstruct_TVINSERTSTRUCT{
- HTREEITEMhParent;//插入项的父项的句柄
- HTREEITEMhInsertAfter;//插入处上一项的句柄或位置标志值
- TV_ITEMitem;//插入的项目
- }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,对话框中有一个树视控件和其他一些如图所示的按钮。树视控件用于显示一些有层次关系的项目,用户可通过“添加”或“删除”按钮向树视控件中添加或删除一个项目。
树视控件详解
184

被折叠的 条评论
为什么被折叠?



