清泛IT社区

标题: MFC中主窗口和子窗口的菜单问题,如何统一显示MDI主窗体菜单? [打印本页]

作者: 清泛网    时间: 2016-01-27 15:22
标题: MFC中主窗口和子窗口的菜单问题,如何统一显示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));

运行效果:
(, 下载次数: 5710)







欢迎光临 清泛IT社区 (https://bbs.tsingfun.com/) Powered by Discuz! X3.3