首页 VC-MFC Tree控件的使用

VC-MFC Tree控件的使用

举报
开通vip

VC-MFC Tree控件的使用VC-MFC Tree控件的使用 Tree空间的使用 一、 1.InsertItem 添加节点 参数: 文字,图标,父节点 返回: HTREEITEM 示例: 添加一系列节点 HTREEITEM hItem = m_Tree.InsertItem("root",NULL,NULL);///root就是节点的标题 int i,j; for (i=0;i<4;i++) { HTREEITEM hSubItem = m_Tree.InsertItem("item",NULL,NULL,hItem); ...

VC-MFC Tree控件的使用
VC-MFC Tree控件的使用 Tree空间的使用 一、 1.InsertItem 添加节点 参数: 文字,图标,父节点 返回: HTREEITEM 示例: 添加一系列节点 HTREEITEM hItem = m_Tree.InsertItem("root",NULL,NULL);///root就是节点的标题 int i,j; for (i=0;i<4;i++) { HTREEITEM hSubItem = m_Tree.InsertItem("item",NULL,NULL,hItem); for (j=0;j<3;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); /////////////////////////////////// 二、 VC++中 mfc在tree control各个子项目如何添加响应函数的回答 很简单: 第一步:在向导中给你的树形控件关联一个CTreeCtrl的变量(就像你代码中的m_Mess) 第二步:在向导中,添加该树形控件的NM_Click消息(就是鼠标单击消息,以下假设函数名为OnClickTree) 第三步:在代码中添加你的数据(主要是在初始化树形控件的数据的函数中,如你代码中的OnInitDialog()就可以) HTREEITEM hRoot = m_ctrlTree.InsertItem("北京"); m_ctrlTree.SetItemData(hRoot, 1); HTREEITEM hChild = m_ctrlTree.InsertItem("朝阳区", hRoot); m_ctrlTree.SetItemData(hChild, 2); hChild = m_ctrlTree.InsertItem("海淀区", hRoot); m_ctrlTree.SetItemData(hChild, 3); 注意:我在上面用了SetItemData函数,主要是给不同的节点添加不同的标记 ,在下面的单击消息函数中就可以看出它的作用 第四步:在OnClickTree函数中添加鼠标单击消息响应代码 CPoint pt = GetCurrentMessage()->pt; //获取当前鼠标点击消息的坐标点 m_ctrlTree.ScreenToClient(&pt); //将鼠标的屏幕坐标,转换成树形控件的客户区坐标 UINT uFlags = 0; HTREEITEM hItem = m_ctrlTree.HitTest(pt, &uFlags);//然后做点击测试 if ((hItem != NULL) && (TVHT_ONITEM & uFlags))//如果点击的位置是在节点位置上面 { m_ctrlTree.SelectItem(hItem); //获取开始我们设置的数据,注意这就是我为什么开始要每个节点设置不同的数据的原因。当然,如果你的数据节点比较少,你也可以通过获取节点的文字,如上面设置的"海淀区",然后通过字符串比较来判断点击了哪个节点 int nDat = m_ctrlTree.GetItemData(hItem); //然后根据不同的节点,你完成不同的动作即可 switch (nDat) { case 1: AfxMessageBox("北京"); break; case 2: AfxMessageBox("北京->朝阳区"); break; case 3: AfxMessageBox("北京->海淀区"); break; default: AfxMessageBox("ERROR"); } }
本文档为【VC-MFC Tree控件的使用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:15KB
软件:Word
页数:4
分类:互联网
上传时间:2017-10-27
浏览量:8