IOleDocumentSite::ActivateMe 方法 (docobj.h)

要求文档网站激活作为文档对象(而不是就地活动对象)调用的文档,并(可选)指定要激活的对象文档的视图。

语法

HRESULT ActivateMe(
  [in] IOleDocumentView *pViewToActivate
);

参数

[in] pViewToActivate

指向 IOleDocumentView 接口指针的指针,该指针表示在激活文档对象时要使用的文档视图。 此参数可以为 NULL,在这种情况下,容器应调用 IOleDocument::CreateView 以获取文档视图指针。

返回值

此方法在成功时返回S_OK。

注解

当容器调用 IOleObject::D oVerb 来激活文档时,文档对象通过调用 IOleDocumentSite::ActivateMe 绕过通常的就地激活序列。

在文档对象上调用 IOleObject::D oVerb 时,通常OLEIVERB_SHOW最合适的激活谓词。 其他允许的谓词包括OLEIVERB_PRIMARY和OLEIVERB_UIACTIVATE。 不建议OLEIVERB_OPEN,因为这意味着在单独的窗口中打开嵌入对象,这与文档对象激活的意图背道而驰。

给调用方的说明

只有文档对象应调用此方法。 正常的就地活动文档应通过调用 IOleInPlaceSite 响应容器对 IOleObject::D oVerb 的调用。

文档对象应通过调用 IOleDocumentSite::ActivateMe 来启动其激活。 如果容器未实现 IOleDocumentSite,则文档应默认为正常的就地激活序列。

支持其数据的多个视图的文档对象可以通过在 pViewToActivate 中将指针传递到该视图的 IOleDocumentView 接口来指定要激活的视图。

但是,获取 IOleDocumentView 指针,容器应在不再需要指针时释放该指针。

实施者说明

必须在文档对象容器中完全实现此函数;E_NOTIMPL不是可接受的返回值。

如果文档对象在 pViewToActivate 中传递 IOleDocumentView 指针,则容器实现的 IOleDocumentSite::ActivateMe 应调用 IOleDocumentView::SetInPlaceSite 并将指向其 IOleInPlaceSite 接口的指针传递回视图对象。 如果容器持有 IOleDocumentView 指针(通常为这种情况),则它应遵循对 IOleDocumentView::SetInPlaceSite 的调用,并调用 IUnknown::AddRef

如果 pViewToActivateNULL,容器可以通过查询文档以获取 IOleDocument,然后调用 IOleDocument::CreateView 并传递其 IOleInPlaceSite 指针来获取指向文档视图的指针。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 docobj.h

另请参阅

IOleClientSite

IOleDocument::CreateView

IOleDocumentSite

IOleDocumentView::SetInPlaceSite

IOleInPlaceSite

IOleObject::D oVerb