我们有一个应用程序,它是使用CFormView类继承的基于MDI的MFC应用程序。问题是 Ctrl + F6 命令是所有MDI应用程序的默认命令,但在我们的应用程序中它不起作用。当我打开两个或更多子窗口时,按 Ctrl + F6 时,焦点不会移动到下一个MDI子窗口。
我尝试过创建示例新的MFC MDI应用程序,并且我可以在 Ctrl + F6 命令之间切换窗口。我不熟悉MFC,所以任何人都可以帮助我。
我是否有一些想法可能是上述问题的根本原因。
我可以得到一些确切的根本原因,为什么Ctrl + f6不能用于我的自定义MFC MDI应用程序,因为Excel表和MS word以及许多MDI应用程序都支持 Ctrl + f6 。
答案 0 :(得分:0)
CTRL + F6是下一个窗格的加速器,仅在拆分器窗口内处理。
此加速器根本不在MDI窗口中使用。
如果要在MDI窗口之间切换,只需在CMainFrame(mainfrm.cpp)实现中为ID_NEXT_PANE添加自己的OnCommand处理程序,并使用MDINext()和MDIPrev()。
PS:重新检查MFC源代码后,答案发生了变化。请包涵。