您的位置:C++老鼠窝编程 VC MFC 编程 VC MFC 入门 正文
 添加时间:2008-08-15 原文发表时间:2008-08-15 人气:75

本文章共6157字,分4页,当前第1页,快速翻页:
 

树控制和视(Tree Control&View)主要用来显示具有一定层次结构的数据项,如资源管理器中的磁盘目录等,以供用户在其中进行各种选择。树控制中的每个数据项包括数据项名称的文本字符串和用于表示该数据项的图像,每个数据项下面均可包含各种子项,整个结构就象目录树一样。对于包含各种子项的数据项,可通过鼠标双击来展开或合拢,这可以通过控制树的不同风格来实现树控制的不同显示形态。这些风格主要包括:

TVS_HASLINES表示用连线来连接父项和它下面的各个子项,这可以使树的显示层次结构更加清晰,但在无父项的各子项之间并没有连线;

TVS_LINESATROOT表示在无父项的各子项即根下面的各子项之间存在连线;

TVS_HASBUTTONS表示在带有子项的父项前面增加一个带“+”或“-”的按钮,这使得用户也可以通过单击这个小按钮来实现子项的展开和合拢,当存在子项时,按钮的初始状态为“+”,当子项被展开时,按小按钮由“+”变为“-”号,当子项合拢时,小按钮由“-”变为“+”号,这一风格同样对于根项无效,如果需要可通过组合TVS_LINESATROOT风格来实现;

TVS_EDITLABELS表示允许让用户单击具有输入焦点的数据项来修改其名称。

对于树控制,MFC中也以两种形式来封装,即树控制(CTREECTRL)和树视(CTREEVIEW),来满足用户的不同需求,对于一般要求的用户如在对话框中应用,使用树控制比较方便,而对于具有较高要求的用户,在使用树视时还具有视窗口的各种方便特性,可以更好地满足文档/视结构的要求。当在窗口中使用树视时,树视会占满两个窗口的客户区域并自动随窗口的框架结构的调整而调整,并能够很好地处理诸如菜单、加速键和工具条中的各种命令消息。在使用树视时只要利用其成员函数CtreeView取得其一个引用,就可以象树控制一样方便地应用:CtreeCtrl &treeCtrl = GetTreeCtrl()。

(二)树控制的对象结构

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等。
 

本文章更多内容1 - 2 - 3 - 4 - 下一页>>
本页地址
相关文章

VC 列表控制和视(List Control&View)
VC 图像列表控制(CImageList)
VC 表头控制(CHeaderCtrl)
windows消息处理
VC debug 调试入门
怎样学好VC和MFC(一)
怎样学好VC和MFC(二)
怎样学好VC和MFC(三)
怎样学好VC和MFC(五)
怎样学好VC和MFC(四)
VC 标签控制(Tab Control)

相关评论


本文章所属分类:首页 VC MFC 编程 VC MFC 入门