MFC树形控件点击右键添加节点 怎么做到?
展开全部
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中消息,如上的例子是我派生的类。
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询