此组文章介绍了 MFC OLE 文档应用程序中的菜单和资源的使用。
OLE 视觉编辑在菜单和 OLE 文档应用程序提供的其他资源上提出了其他要求,因为有许多模式可以启动和使用容器和服务器(组件)应用程序。 例如,全服务器应用程序可以在以下三种模式下运行:
独立。
就地,用于编辑容器上下文中的项。
打开,用于编辑容器上下文之外的项,通常位于单独的窗口中。
这需要三个单独的菜单布局,一个针对应用程序的每个可能模式。 每个新模式也需要加速器表。 容器应用程序可能或可能不支持就地激活;如果这样做,则需要新的菜单结构和关联的快捷键表。
就地激活要求容器和服务器应用程序必须协商菜单、工具栏和状态栏空间。 所有资源都必须考虑到这一点。 菜单和资源:菜单合并文章详细介绍了本主题。
由于这些问题,使用应用程序向导创建的 OLE 文档应用程序最多可以有四个单独的菜单和快捷键表资源。 这些用于以下原因:
资源名称 | 使用 |
---|---|
IDR_MAINFRAME | 在 MDI 应用程序中(如果未打开文件)或 SDI 应用程序中使用,而不考虑打开的文件。 这是非 OLE 应用程序中使用的标准菜单。 |
<IDR_项目>类型 | 如果文件处于打开状态,则用于 MDI 应用程序。 当应用程序运行独立时使用。 这是非 OLE 应用程序中使用的标准菜单。 |
<IDR_项目>TYPE_SRVR_IP | 当对象就地打开时,服务器或容器使用。 |
<IDR_项目>TYPE_SRVR_EMB | 如果打开对象而不使用就地激活,则由服务器应用程序使用。 |
其中每个资源名称都表示一个菜单,通常表示一个快捷键表。 在未使用应用程序向导创建的 MFC 应用程序中应使用类似的方案。
以下文章讨论与容器、服务器和实现就地激活所需的菜单合并相关的主题: