格的组合。
枫叶文学网www.fywxw.com
第5 章 常用控件
·139·
表5-23 树型控件风格
控件风格 含义
TVS_HASLINES 在父项与子项间连线以清楚地显示结构
TVS_LINESATROOT 只在根部画线
TVS_HASBUTTONS 显示带有"+"或"-"的小方框来表示某项能否被展开或已展开
TVS_EDITLABELS 用户可以编辑表项的标题
TVS_SHOWSELALWAYS 即使控件失去输入焦点,仍显示出项的选择状态
TVS_DISABLEDRAGDROP 不支持拖动cāo作
除上表的风格外,一般还要指定WS_CHILD 和WS_VISIBLE 窗口风格。对于用对话框
模板创建的树形视图控件,可以在控件的属xìng对话框中指定上表中列出的控件风格。例如,
在属xìng对话框中选择Has buttons,相当于指定了TVS_HASBUTTONS 风格。
5.9.2 CtreeCtrl 类的主要成员函数
CTreeCtrl 类提供了大量的成员函数。对于常用的函数,下面结合实际应用进行介绍。
1.SetImageList()函数
向树形视图中chā入新的表项。首先应提供一个TV_INSERTSTRUCT 结构并在该结构中
对chā入项进行描述。如果要在树形视图中显示图像,则应该先创建一个CImageList 对象并使
该对象包含一个位图序列,然后调用SetImageList 为树形视图设置位图序列。最后调用
InsertItem 函数把新项chā入到树形视图中。该函数的声明如下:
CImageList* SetImageList(CImageList * pImageList,int nImageListType);
参数pImageList指向一个CImageList对象,参数nImageListType一般应为TVSIL_NORMAL。
2.InsertItem()函数
该成员函数声明如下:
HTREEITEM InsertItem( LPTV_INSERTSTRUCT lpInsertStruct );
参数lpInsertStruct 指向一个TV_INSERTSTRUCT 结构。函数返回新chā入项的句柄。
3.DeleteItem()和DeleteAllItems()函数
用DeleteItem()函数来删除指定项,用DeleteAllItems()函数删除所有项。函数的声明如下:
BOOL DeleteItem(HTREEITEM hItem);
BOOL DeleteAllItems();
cāo作成功则函数返回TRUE,否则返回FALSE。
4.Expand()函数
树形视图控件会根据用户的输入自动展开或折叠子项。但有时需要在程序中展开或折叠
指定项,则应该调用Expand,该函数的声明为
BOOL Expand(HTREEITEM hItem,UINT nCode);
参数hItem 指定了