Activation (C++)
本文介绍激活在 OLE 项的视觉编辑中的作用。 用户将 OLE 项嵌入容器文档中后,可能需要使该项。 为此,用户双击该项以进行激活。 最频繁的激活活动是编辑。 许多当前 OLE 项在被激活以供编辑时,会导致当前框架窗口中的菜单和工具栏发生更改,以体现这些内容属于创建该项目的服务器应用程序。 此行为被称为就地激活,允许用户编辑复合文档中的任何嵌入项,而无需离开容器文档的窗口。
还可以在单独的窗口中编辑嵌入的 OLE 项。 如果容器或服务器应用程序不支持就地激活,则会发生这种情况。 在这种情况下,当用户双击嵌入项时,服务器应用程序将在单独的窗口中启动,并且嵌入的项显示为该应用程序的文档。 用户编辑此窗口中的项。 编辑完成后,用户将关闭服务器应用程序并返回到容器应用程序。
或者用户可以选择“打开编辑”,在“编辑”菜单上使用 <object> Open 命令。 这样会在单独的窗口中打开对象。
注意
在单独的窗口中编辑嵌入的项目是 OLE 版本 1 中的标准行为,某些 OLE 应用程序可能仅支持这种编辑方式。
就地激活可提升以文档为中心的文档创建方法。 用户可以将复合文档视为单个实体,无需在应用程序之间切换即可处理该文档。 但是,就地激活仅用于嵌入项目,而不适用于链接项:必须在单独的窗口中编辑它们。 这是因为链接项实际上存储在不同的位置。 链接项的编辑发生在数据的实际上下文中,即存储数据的位置。 在单独的窗口中编辑链接项会提醒用户数据属于另一个文档。
MFC 不支持嵌套就地激活。 如果生成容器/服务器应用程序,并且该容器/服务器嵌入在另一个容器中并就地激活,则无法就地激活嵌入其中的对象。
用户双击嵌入项的结果取决于为该项定义的谓词。 有关详细信息,请参阅激活:谓词。