社区
界面
帖子详情
对树型控件节点的增加,删除.100分!!!
superboy123
2005-09-23 10:33:03
我用VC已经做好了一个树型控件,向windows资源管理器一样.并且能用鼠标右键单击,并弹出一个快捷菜单.想在菜单中实现对树型控件节点的增加和删除.找了很多资料,都是对树型控件拖动的.我比较笨,希望能给出代码或参考资料.
...全文
327
7
打赏
收藏
对树型控件节点的增加,删除.100分!!!
我用VC已经做好了一个树型控件,向windows资源管理器一样.并且能用鼠标右键单击,并弹出一个快捷菜单.想在菜单中实现对树型控件节点的增加和删除.找了很多资料,都是对树型控件拖动的.我比较笨,希望能给出代码或参考资料.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
phoenix96_2000
2005-09-23
打赏
举报
回复
噢.后面哪儿弹出菜单前应该还要加上 ClientToScreen(&gpoint),:)
phoenix96_2000
2005-09-23
打赏
举报
回复
是没错的,他是指定了TPM_RETURNCMD:
你可以在前面先,HITTEST一下,如果有就选中这个项,这样可以右键直接点击就可以选中这个项
CPoint point;
GetCursorPos(&gpoint);
ScreenToClient(&gpoint);
UINT uFlags;
HTREEITEM hItem = HitTest(gpoint, &uFlags);
if (hItem)
{
SelectItem(hItem);
DWORD SelectionMade=pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_NONOTIFY|TPM_RETURNCMD,
gpoint.x,gpoint.y,this);
switch(SelectionMade)
{
case IDM_ADD:
InsertItem("aaa",hItem,hItem);
break;
case IDN_DEL:
DeleteItem(hItem);
break;
}
}
zxyjyzxyjy
2005-09-23
打赏
举报
回复
不是这样做吧,TrackPopupMenu函数返回的是BOOL,你应该在响应菜单的消息处理函数中,去获得你选择的项目,在进行增加或删除。
快乐鹦鹉
2005-09-23
打赏
举报
回复
哦。那要先判断点击的是哪个节点。
用HTREEITEM GetSelectedItem( );获取选中的节点。然后DeleteItem就删除了。
superboy123
2005-09-23
打赏
举报
回复
这个树的结构是这样的
先建父节点
HTREEITEM root = m_TreeCtrl.InsertItem("VCKBASE",0,0);
HTREEITEM subroot1=m_TreeCtrl.InsertItem("程序员社区",1,1,root);
HTREEITEM subroot2=m_TreeCtrl.InsertItem("文档中心",1,1,root);
HTREEITEM subroot3=m_TreeCtrl.InsertItem("代码仓库",1,1,root);
HTREEITEM subroot4=m_TreeCtrl.InsertItem("工具和资源",1,1,root);
HTREEITEM subroot5=m_TreeCtrl.InsertItem("客服中心",1,1,root);
HTREEITEM subroot6=m_TreeCtrl.InsertItem("个人专栏",1,1,root);
然后建子节点
m_TreeCtrl.InsertItem("开发论坛",1,1,subroot1);
m_TreeCtrl.InsertItem("开发联盟",1,1,subroot1);
m_TreeCtrl.InsertItem("人才交流",1,1,subroot1);
m_TreeCtrl.InsertItem("用户注册",1,1,subroot1);
m_TreeCtrl.InsertItem("VCity",1,1,subroot1);
m_TreeCtrl.InsertItem("在线杂志",1,1,subroot2);
m_TreeCtrl.InsertItem("个人专辑",1,1,subroot2);
m_TreeCtrl.InsertItem("论坛精华",1,1,subroot2);
m_TreeCtrl.InsertItem("酷库",1,1,subroot2);
m_TreeCtrl.InsertItem("所有文章",1,1,subroot2);
m_TreeCtrl.InsertItem("所有代码",1,1,subroot3);
m_TreeCtrl.InsertItem("程序工具箱",1,1,subroot4);
m_TreeCtrl.InsertItem("程序工具箱",1,1,subroot5);
m_TreeCtrl.InsertItem("用户注册",1,1,subroot5);
m_TreeCtrl.InsertItem("修改信息",1,1,subroot5);
m_TreeCtrl.InsertItem("取回密码",1,1,subroot5);
m_TreeCtrl.InsertItem("问题解答",1,1,subroot5);
m_TreeCtrl.InsertItem("投稿",1,1,subroot5);
m_TreeCtrl.InsertItem("联系我们",1,1,subroot5);
m_TreeCtrl.SelectItem(root);
m_TreeCtrl.Expand(root, TVE_EXPAND);
m_TreeCtrl.Expand(subroot1, TVE_EXPAND);
m_TreeCtrl.Expand(subroot2, TVE_EXPAND);
m_TreeCtrl.Expand(subroot3, TVE_EXPAND);
m_TreeCtrl.Expand(subroot4, TVE_EXPAND);
m_TreeCtrl.Expand(subroot5, TVE_EXPAND);
return 0;
鼠标右击弹出快捷菜单
oid MyTree::OnRButtonDown(UINT nFlags, CPoint point)
{
CMenu menu;
VERIFY(menu.LoadMenu(IDR_MENU1));
CMenu *pPopup=menu.GetSubMenu(0);
ASSERT(pPopup !=NULL);
POINT gpoint;
GetCursorPos(&gpoint);
DWORD SelectionMade=pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_NONOTIFY|TPM_RETURNCMD,
gpoint.x,gpoint.y,this);
switch(SelectionMade)
{
case IDM_ADD:
case IDN_DEL:
}
就是不知道switch里怎么写增加和删除节点的代码.
zxyjyzxyjy
2005-09-23
打赏
举报
回复
调用这几个函数就行了,可查MSDN帮助
pmyTreeCtrl->GetSelectedItem
pmyTreeCtrl->DeleteItem
pmyTreeCtrl->InsertItem
goodboyws
2005-09-23
打赏
举报
回复
很简单
CTreeCtrl::GetSelectedItem();
CTreeCtrl::DeleteItem
ACCESSTreeview
控件
(树型
控件
)快速入门.pdf
ACCESSTreeview
控件
是Access数据库中的一个树型
控件
,可以用来组织和管理大量的数据,具有无限扩展性和明显的层级关系。下面将对ACCESSTreeview
控件
的使用进行详细介绍。 一、树形
控件
的基本概念 树形
控件
是一种...
变色的树型
控件
变色的树型
控件
变色的树型
控件
在IT领域,树型
控件
(Tree View Control)是一种常见的用户界面元素,广泛应用于各种操作系统和应用程序中。这种
控件
以树状结构显示数据,通常包含可展开/折叠的
节点
,便于用户浏览和操作层次化的信息。在"变色的...
微软树型
控件
拖动
节点
、
增加
节点
、
删除
节点
等功能演示.zip
在这个“微软树型
控件
拖动
节点
、
增加
节点
、
删除
节点
等功能演示.zip”压缩包中,包含了关于如何操作和扩展树型
控件
的实例代码和说明。 首先,我们来详细探讨树型
控件
的基本操作: 1. **添加
节点
**:在树型
控件
中...
vc树型
控件
拖动的完美实现.zip
在VC++编程环境中,树型
控件
(Tree Control)是一种常用的数据展示组件,它能够以层级结构显示数据,常用于文件浏览器、系统设置等界面。本文将深入探讨如何在Visual C++中完美实现树型
控件
的拖动功能,使用户能够...
MFC树型
控件
(2).zip_MFC_farmeri88_日志
控件
_树 mfc
在这个"**MFC树型
控件
(2).zip**"压缩包中,重点是关于MFC中的树形
控件
(CTreeCtrl)以及日志控制系统的应用,特别是针对学生管理系统的实践。 首先,我们来看**MFC树型
控件
**。CTreeCtrl是MFC提供的一种用户界面...
界面
15,978
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章