还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

MFC中主窗口和子窗口的菜单问题,如何统一显示MDI主窗体菜单?

来源:清泛原创     2016-06-07 14:20:44    人气:     我有话说( 0 人参与)

在 MDI 应用程序中,每一个子窗体的菜单都显示在 MDI 窗体上,而不是在子窗体本身。当子窗体有焦点时,该子窗体的菜单(如果有的话)就...

在   MDI   应用程序中,每一个子窗体的菜单都显示在   MDI   窗体上,而不是在子窗体本身。当子窗体有焦点时,该子窗体的菜单(如果有的话)就代替菜单栏上的   MDI   窗体的菜单。如果没有可见的子窗体,或者如果带有焦点的子窗体没有菜单,则显示   MDI   窗体的菜单。现在想要在打开子窗口时,显示的菜单和不打开子窗口的时候一样,怎么办啊?


只需要在注册应用程序模板的时候指定资源ID为主窗口菜单即可:
CxxxApp::InitInstance()中相应的地方改为如下代码(改动部分红色标示)
        // 注册应用程序的文档模板。文档模板
        // 将用作文档、框架窗口和视图之间的连接
        CMultiDocTemplate* pDocTemplate;
        pDocTemplate = new CMultiDocTemplate(IDR_MAINFRAME,
                RUNTIME_CLASS(CMFCApplication1Doc),
                RUNTIME_CLASS(CChildFrame), // 自定义 MDI 子框架
                RUNTIME_CLASS(CMFCApplication1View));

运行效果:
 

MDI 菜单

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: