- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC_VC_Tree_Control控件使用 详解.doc
MFC Tree Control控件???详解
1.InsertItem 添加节点
参数: 文字,图标,父节点
返回: HTREEITEM
示例: 添加一系列节点
HTREEITEM hItem = m_Tree.InsertItem(root,NULL,NULL);///root就是节点的标题
int i,j;
for (i=0;i4;i++)
{
HTREEITEM hSubItem = m_Tree.InsertItem(item,NULL,NULL,hItem);
for (j=0;j3;j++)
{
m_Tree.InsertItem(subitem,NULL,NULL,hSubItem);
}
}
InsertItem函数的第一个参数就是设置他的节点标题
2.ModifyStyle 设置风格
参数: 取消的风格,增加的风格
示例: 在对话框初始化时设置风格
BOOL CMfc1Dlg::OnInitDialog(){
//...
m_Tree.ModifyStyle(NULL,TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT);
}
3.DeleteItem 删除节点
4.DeleteAllItems 删除全部节点
5.Expand 展开/收缩节点
参数: 节点HTREEITEM,展开/收缩
示例:
m_Tree.Expand(hItem,TVE_EXPAND);
/////////////////////////////////////////////////////////
CTreeCtrl的概述cc++vc
CTreeCtrl在三种不同情况下创建的方式
1、如果要在对话框窗口上创建树形控件,你需要在对话框类中定义一个CTreeCtrl类型的成员变量。
2、如果树形控件是一个子窗口,你可以使用CTreeCtrl::Create()来构建树形空间对象。
3、如果你使用了CViewTree对象,那么你需要使用CViewTree::GetTreeCtrl()获得对树形控件的引用
如果你想在你的控件中使用图像,需要通过CImageList::SetImageList()来设置一个图像列表。你也可以通过使用CTreeCtrl::SetIndent()设置子项缩进的宽度。一个最好的使用这些函数的时机是在CDialog::OnInitDialog()或CView::OnInitalUpdate()中。
可以通过调用CTreeCtrl::InsertItem()向树形控件中添加数据,每次添加一个数据项。这个函数将返回一个指向这个数据项的句柄,这个句柄在后面会使用到,例如在后面添加这个数据项的子数据项的时候。一个最好的使用这个函数的时机是在CDialog::OnInitDialog()或CView::OnInitalUpdate()中。
当用户和树形控件交互时,它将会发送不同的通知消息。你可以通过在控件窗口的消息映射表中添加ON_NOTIFY_REFLECT宏或在控件窗口的父窗口的消息映射表中添加ON_NOTIFY来指定一个函数处理每个你想处理的消息。
通过调用树形控件不同的Set成员函数去设置它的值,包括子数据项缩进宽度、文本、图像或者和控件相关的数据。
使用不同的Get成员函数来检查控件的内容。你也可以用允许你接受指定数据项的父项、子项和兄弟项的函数得到树形控件的内容。你甚至可以存储某一结点的子项。
当你在处理这个控件时,确定它确实被销毁。如果树形控件是在一个对话框中或视图中,它和CTreeCtrl对象会自动被销毁,如果不是,你需要保证销毁控件和CTreeCtrl对象
//////////////////////////////////////////////////////////
CTreeCtrl的一些操作
树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点。MFC中使用CTreeCtrl类来封装树形控件的各种操作。通过调用
BOOL Create( DWORD dwStyle, const RECT rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些树形控件的专用风格:
TVS_HASLINES 在父/子结点之间绘制连线
TVS_LINESATROOT 在根/子结点之间绘制连线
TVS_HASBUTTONS 在每一个结点前添加一个按钮,用于表示当前结点是否已被展开
TVS_EDITLABELS 结点的显示字符可以被编辑
TVS_SH
文档评论(0)