IOleDocumentView::SetInPlaceSite 方法 (docobj.h)
将容器的文档视图网站与文档的视图对象相关联。
语法
HRESULT SetInPlaceSite(
[in] IOleInPlaceSite *pIPSite
);
参数
[in] pIPSite
指向文档视图网站的 IOleInPlaceSite 接口的指针。 此参数可以为 NULL,在这种情况下,文档视图对象将丢失与容器的所有关联。
返回值
如果文档视图网站已成功关联 (或取消关联(如果 pIPSite 与文档视图对象) 为 NULL ,此方法将返回S_OK。 其他可能的返回值包括以下内容。
返回代码 | 说明 |
---|---|
|
此操作失败。 |
注解
作为激活文档对象的一部分,容器必须向对象传递指向容器实现 IOleInPlaceSite 的指针。 此指针指定要与调用此方法的视图关联的文档视图网站。
容器通常会传递此指针以响应文档的激活请求。 文档通过调用 IOleDocumentSite::ActivateMe 并将容器作为指向要激活的视图的指针来发出此类请求。 反过来,容器使用此指针调用 IOleDocumentView::SetInPlaceSite。
给调用方的说明
如果容器请求创建和激活文档对象的新实例,而不仅仅是激活已加载的文档对象的实例,则视图网站将传入 IOleDocument::CreateView 的 pIPSite 参数。 因此,不需要显式调用 IOleDocumentView::SetInPlaceSite 。实施者说明
如果在已与视图网站关联的视图上调用此方法,则视图必须执行一些内务处理,以准备在新站点中激活自身。 首先,视图必须在当前站点中停用自身,并释放其指向该网站的指针。 接下来,如果新的 IOleInPlaceSite 指针不是 NULL,则视图应保存指针并为其调用 IUnknown::AddRef 。 然后,视图应等待容器告知它何时在新视图站点中激活自身。文档视图必须完全实现此方法;E_NOTIMPL不是可接受的返回值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | docobj.h |