2024年4月19日发(作者:)

CtreeCtrl

树控制(CTreeCtrl)主要用来显示具有一定层次结构的数据项,如资源管理器中的磁

盘目录等,以供用户在其中进行各种选择。树控制中的每个数据项包括数据项名称的文本

字符串和用于表示该数据项的图像,每个数据项下面均可包含各种子项,整个结构就象目

录树一样。对于包含各种子项的数据项,可通过鼠标双击来展开或合拢,这可以通过控制

树的不同风格来实现树控制的不同显示形态。

1.树控制的建立方法

CtreeCtrl&treeCtrl 建立树控制对象结构

Create 建立树控制并绑定对象

树控制CTreeCtrl::Create的调用格式如下:

BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT

nID );

其中参数dwStyle用来确定树控制的类型;rect用来确定树控制的大小和位置;

pParentWnd用来确定树控制的父窗口,通用是一个对话框并且不能为NULL;nID用来

确定树控制的标识。树控制的风格可以是下列值的组合:

TVS_HASLINES 表示树控制在各子项之间存在连线;

TVS_LINESATROOT 表示树控制在根项之间存在连线;

TVS_HASBUTTONS 表示树控制视在父项左侧存在展开合拢控制按钮;

TVS_EDITLABELS 表示可以控制鼠标单击修改树项的名称;

TVS_SHOWSELALWAYS 表示选中项即使在窗口失去输入焦点时仍然保持选中状态;

TVS_DISABLEDRAGDROP表示禁止树控制发送TVN_BEGINDRAG消息

2.树控制的属性类

树控制属性类包括取得树控制中项数GetCount、取得树控制中项相对于父项的偏移

值GetIndent、取得树控制图像列表控制句柄GetImageList、设置树控制图像列表控制句

柄SetImageList、取得匹配下一个树项GetNextItem、判断给定树项是否包含子项

ItemHasChildren、取得树项子项GetChildItem、取得下一个同属树项

GetNextSiblingItem、取得前一个同属树项GetPrevSiblingItem、取得父树项

GetParentItem、取得第一个可视树项GetFirstVisibleItem、取得下一个可视树项

GetNextVisible Item、取得前一个可视的树项GetPrevVisibleItem、取得被选中的树

GetSelectedItem、取得根树项GetRootItem、取得树项的属性GetItem、设置树项的属

SetItem、取得树项的状态GetItemState、设置树项的状态SetItemState、取得与树项关

联图像GetItemImage、设置与树项关联图像SetItemImage、取得树项文本GetItemText、

设置树项文本SetItemText和取得树项编辑控制句柄GetEditControl等。

3.树控制的操作方法