" Ctrl + F6"的默认处理不适用于自定义的MDI应用程序

时间:2014-12-17 05:48:50

标签: c++ visual-c++ mfc

我们有一个应用程序,它是使用CFormView类继承的基于MDI的MFC应用程序。问题是 Ctrl + F6 命令是所有MDI应用程序的默认命令,但在我们的应用程序中它不起作用。当我打开两个或更多子窗口时,按 Ctrl + F6 时,焦点不会移动到下一个MDI子窗口。

我尝试过创建示例新的MFC MDI应用程序,并且我可以在 Ctrl + F6 命令之间切换窗口。我不熟悉MFC,所以任何人都可以帮助我。

我是否有一些想法可能是上述问题的根本原因。

我可以得到一些确切的根本原因,为什么Ctrl + f6不能用于我的自定义MFC MDI应用程序,因为Excel表和MS word以及许多MDI应用程序都支持 Ctrl + f6

1 个答案:

答案 0 :(得分:0)

CTRL + F6是下一个窗格的加速器,仅在拆分器窗口内处理。

此加速器根本不在MDI窗口中使用。

如果要在MDI窗口之间切换,只需在CMainFrame(mainfrm.cpp)实现中为ID_NEXT_PANE添加自己的OnCommand处理程序,并使用MDINext()和MDIPrev()。

PS:重新检查MFC源代码后,答案发生了变化。请包涵。