MFC树形控件点击右键添加节点 怎么做到?

 我来答
龚炜林
2012-12-27 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:555万
展开全部
1.在资源编辑器中右键单击你的树形控件,事件,然后选择NM_RCLICK,双击它,确定,就添加了树形控件的消息响应,然后找到对应的消息响应处理函数,如下是我的例子:
void CViewTreeBase::OnNMRClick(NMHDR *pNMHDR, LRESULT *pResult)
{
UNREFERENCED_PARAMETER(pNMHDR);
CPoint point;
GetCursorPos(&point);
ScreenToClient(&point);
UINT uFlags = 0;
HTREEITEM click = HitTest(point, &uFlags);
//click和uFlags能定位你单击的具体项目,参看参考资料。
//在这里你可以进行你的添加节点的操作,相信你会天际节点。如果需要添加菜单,你可以搜搜右键添加菜单,然后在这里弹出菜单。具体的,看你需求,再做解答。
}

2.也可以自己派生一个类,继承于CTreeCtr,从类向导中进行添加1中消息,如上的例子是我派生的类。
更多追问追答
追问
谢谢哈
追答
如果关于添加菜单有不明白的,可以用百度Hi联系我,给你例子。

参考资料: http://msdn.microsoft.com/zh-cn/library/vstudio/x0w7ft34.aspx

bhtzu
2012-12-27 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4027万
展开全部
这里分三个步骤:
1·响应右键消息,这个在ClassWizard里面实现
2·实现弹出菜单,需要资源里面建一个新的popMenu,然后在1中的响应函数中,参考类和函数CMenu::LoadMenu() TrackPopupMenu()
3·响应菜单消息,并在响应函数中CTreeCtrl::GetSelectedItem() InsertItem()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式