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。
如果 pViewToActivate 为 NULL,容器可以通过查询文档以获取 IOleDocument,然后调用 IOleDocument::CreateView 并传递其 IOleInPlaceSite 指针来获取指向文档视图的指针。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | docobj.h |