MFC中treeview控件使用方法

MFC中treeview控件使用方法

ID:37710888

大小:33.50 KB

页数:8页

时间:2019-05-29

MFC中treeview控件使用方法_第1页
MFC中treeview控件使用方法_第2页
MFC中treeview控件使用方法_第3页
MFC中treeview控件使用方法_第4页
MFC中treeview控件使用方法_第5页
资源描述:

《MFC中treeview控件使用方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MFCTreeview控件   方法1,用InsertItem添加节点参数:文字,图标,父节点返回:HTREEITEM示例:添加一系列节点HTREEITEMhItem=m_Tree.InsertItem("root",NULL,NULL);///root就是节点的标题inti,j;for(i=0;i<4;i++){HTREEITEMhSubItem=m_Tree.InsertItem("item",NULL,NULL,hItem);for(j=0;j<3;j++){m_Tree.InsertItem("subitem",NULL,NULL,hSubIte

2、m);}}InsertItem函数的第一个参数就是设置他的节点标题2.,用ModifyStyle设置风格参数:取消的风格,增加的风格示例:在对话框初始化时设置风格BOOLCMfc1Dlg::OnInitDialog(){//...m_Tree.ModifyStyle(NULL,TVS_HASBUTTONS

3、TVS_HASLINES

4、TVS_LINESATROOT);}3,用DeleteItem删除节点4,用.DeleteAllItems删除全部节点5,.用Expand展开/收缩节点参数:节点HTREEITEM,展开/收缩示例:m_Tree.Expand(

5、hItem,TVE_EXPAND);/////////////////////////////////////////////////////////CTreeCtrl的概述cc++vcCTreeCtrl在三种不同情况下创建的方式1、如果要在对话框窗口上创建树形控件,你需要在对话框类中定义一个CTreeCtrl类型的成员变量。2、如果树形控件是一个子窗口,你可以使用CTreeCtrl::Create()来构建树形空间对象。3、如果你使用了CViewTree对象,那么你需要使用CViewTree::GetTreeCtrl()获得对树形控件的引用如果你想在你

6、的控件中使用图像,需要通过CImageList::SetImageList()来设置一个图像列表。你也可以通过使用CTreeCtrl::SetIndent()设置子项缩进的宽度。一个最好的使用这些函数的时机是在CDialog::OnInitDialog()或CView::OnInitalUpdate()中。可以通过调用CTreeCtrl::InsertItem()向树形控件中添加数据,每次添加一个数据项。这个函数将返回一个指向这个数据项的句柄,这个句柄在后面会使用到,例如在后面添加这个数据项的子数据项的时候。一个最好的使用这个函数的时机是在CDialog

7、::OnInitDialog()或CView::OnInitalUpdate()中。当用户和树形控件交互时,它将会发送不同的通知消息。你可以通过在控件窗口的消息映射表中添加ON_NOTIFY_REFLECT宏或在控件窗口的父窗口的消息映射表中添加ON_NOTIFY来指定一个函数处理每个你想处理的消息。通过调用树形控件不同的Set成员函数去设置它的值,包括子数据项缩进宽度、文本、图像或者和控件相关的数据。使用不同的Get成员函数来检查控件的内容。你也可以用允许你接受指定数据项的父项、子项和兄弟项的函数得到树形控件的内容。你甚至可以存储某一结点的子项。当你在

8、处理这个控件时,确定它确实被销毁。如果树形控件是在一个对话框中或视图中,它和CTreeCtrl对象会自动被销毁,如果不是,你需要保证销毁控件和CTreeCtrl对象//////////////////////////////////////////////////////////CTreeCtrl的一些操作树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点。MFC中使用CTreeCtrl类来封装树形控件的各种操作。通过调用BOOLCreate(DWORDdwStyle,constRE

9、CT&rect,CWnd*pParentWnd,UINTnID);创建一个窗口,dwStyle中可以使用以下一些树形控件的专用风格:TVS_HASLINES在父/子结点之间绘制连线TVS_LINESATROOT在根/子结点之间绘制连线TVS_HASBUTTONS在每一个结点前添加一个按钮,用于表示当前结点是否已被展开TVS_EDITLABELS结点的显示字符可以被编辑TVS_SHOWSELALWAYS在失去焦点时也显示当前选中的结点TVS_DISABLEDRAGDROP不允许Drag/DropTVS_NOTOOLTIPS不使用ToolTip显示结点的显示

10、字符在树形控件中每一个结点都有一个句柄(HTREEITEM),同时添加结点时必须

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。