C++ 如何将菜单放入CDockablePane中?

C++ 如何将菜单放入CDockablePane中?,c++,menu,mfc,mfc-feature-pack,cmfctoolbar,C++,Menu,Mfc,Mfc Feature Pack,Cmfctoolbar,我想在CDockablePane中放置一个菜单,以便该窗格可以有一个标准菜单和一个工具栏。菜单本身不必固定(工具栏也不必固定) 作为我的第一次尝试,我从VS项目向导中的一个标准SDI开始,使用一个可固定属性窗格,从中剪切除工具栏之外的所有内容(最终我将添加一个表单视图)。然后,我尝试将标准的CMFCMenuBar放入窗格中,方法与主框架中的主菜单相同,但将可固定窗格作为父窗格。这最终会在窗格中显示OK,但只有在忽略过程中(以及在退出时)的各种断言之后才会显示OK,这可能是因为它期望CFrameW

我想在CDockablePane中放置一个菜单,以便该窗格可以有一个标准菜单和一个工具栏。菜单本身不必固定(工具栏也不必固定)

作为我的第一次尝试,我从VS项目向导中的一个标准SDI开始,使用一个可固定属性窗格,从中剪切除工具栏之外的所有内容(最终我将添加一个表单视图)。然后,我尝试将标准的CMFCMenuBar放入窗格中,方法与主框架中的主菜单相同,但将可固定窗格作为父窗格。这最终会在窗格中显示OK,但只有在忽略过程中(以及在退出时)的各种断言之后才会显示OK,这可能是因为它期望CFrameWndEx而不是CDockablePane作为父级。我怀疑它和主框架码头管理器有冲突。


我将非常感谢任何关于如何正确执行此操作的建议(或更好的示例代码)。显然,CMFCMenuBar路线是一条混乱的道路

你有没有试过使用可停靠窗格本身?使用带有菜单按钮的工具栏不是更好吗?菜单通常只用于主框架。感谢您的输入。我尝试了CWnd::SetMenu,但没有显示任何内容。我不确定,但我不认为这个电话实际上构成了一个菜单。我还试着沿着工具栏菜单路线走,以Neil Yao的一篇关于CodeProject的老文章为基础。但是,由于某种原因(可能与docking manager有关?),显示菜单的工具栏被来自其他工具栏(如大型机)的位图图像损坏。我简化了,发现即使在停靠窗格中创建一个原始的CToolBarCtrl,也会发生这种情况,根本不需要向其中添加任何代码。所以我有点困了。