如何去掉CDockablePane 内部区域右键弹出菜单

时间:2021-07-04 17:05:25
如何去掉CDockablePane 内部区域右键弹出菜单

如图,鼠标在Pane的内部区域任意一处右键,就会弹出那个默认菜单

这个帖子说:http://bbs.csdn.net/topics/390559922?page=1
可以通过OnContexMenu,但是不知道具体如何弄,请知晓的帮忙下

如果有别的方法,也请说明一下,谢谢!

7 个解决方案

#1


派生新类再做

#2


再详细点吧...

#3


在继承自CWinApp那个类的构造函数中添加

m_bContextMenuManager = FALSE;

即可

#4




引用 3 楼 my_aa 的回复:
在继承自CWinApp那个类的构造函数中添加

m_bContextMenuManager = FALSE;

即可


应该是
m_bContextMenuManagerAutocreated = FALSE


试了一下,但依然会弹出..

#5


重载OnContexMenu方法,不然其调用基本(父类)的CDockablePane::OnContexMenu(....)方法

#6


引用 5 楼 lis2012 的回复:
重载OnContexMenu方法,不然其调用基本(父类)的CDockablePane::OnContexMenu(....)方法


void CMyPane::OnContextMenu(CWnd* pWnd, CPoint point)
{
return;
}

我这样写会不会有问题?

#7


问题最终得到解决,按照#6楼的方法重载OnContextMenu,注意在消息映射里加入

	ON_WM_CONTEXTMENU()


Ok,感谢楼上诸位

#1


派生新类再做

#2


再详细点吧...

#3


在继承自CWinApp那个类的构造函数中添加

m_bContextMenuManager = FALSE;

即可

#4




引用 3 楼 my_aa 的回复:
在继承自CWinApp那个类的构造函数中添加

m_bContextMenuManager = FALSE;

即可


应该是
m_bContextMenuManagerAutocreated = FALSE


试了一下,但依然会弹出..

#5


重载OnContexMenu方法,不然其调用基本(父类)的CDockablePane::OnContexMenu(....)方法

#6


引用 5 楼 lis2012 的回复:
重载OnContexMenu方法,不然其调用基本(父类)的CDockablePane::OnContexMenu(....)方法


void CMyPane::OnContextMenu(CWnd* pWnd, CPoint point)
{
return;
}

我这样写会不会有问题?

#7


问题最终得到解决,按照#6楼的方法重载OnContextMenu,注意在消息映射里加入

	ON_WM_CONTEXTMENU()


Ok,感谢楼上诸位