菜单和资源 (OLE)

本组文章说明菜单和资源在 MFC OLE 文档应用程序中的使用。

OLE 视觉对象编辑对 OLE 文档应用程序提供的菜单和其他资源提出了附加要求,因为可以在许多模式下同时启动和使用容器和服务器(组件)应用程序。 例如,全服务器应用程序可以在以下三种模式中的任何一种模式下运行:

  • 独立。

  • 就地,用于在容器的上下文中编辑项。

  • 打开,用于在其容器上下文之外编辑项,通常在单独的窗口中。

这需要三个单独的菜单布局,每个布局用于应用程序每种可能的模式。 每种新模式也需要快捷键表。 容器应用程序可能支持也可能不支持就地激活;如果支持,则需要一个新的菜单结构和关联的快捷键表。

就地激活要求容器和服务器应用程序必须针对菜单、工具栏和状态栏空间进行协商。 在设计所有资源时必须牢记这一点。 菜单和资源:菜单合并一文详细介绍了此主题。

由于存在这些问题,使用应用程序向导创建的 OLE 文档应用程序最多可以有四个单独的菜单和快捷键表资源。 这些资源的用途如下:

资源名称 使用
IDR_MAINFRAME 如果未打开任何文件,则在 MDI 应用程序中使用;如果不考虑打开的文件,则在 SDI 应用程序中使用。 这是非 OLE 应用程序中使用的标准菜单。
IDR_<project>TYPE 如果文件已打开,则在 MDI 应用程序中使用。 在应用程序独立运行时使用。 这是非 OLE 应用程序中使用的标准菜单。
IDR_<project>TYPE_SRVR_IP 当对象就地打开时由服务器或容器使用。
IDR_<project>TYPE_SRVR_EMB 如果对象在不使用就地激活的情况下打开,则由服务器应用程序使用。

其中每个资源名称都表示一个菜单,通常还表示一个快捷键表。 在未使用应用程序向导创建的 MFC 应用程序中,应使用类似的方案。

以下文章讨论与容器、服务器和实现就地激活所需的菜单合并相关的主题:

另请参阅

OLE