共用方式為


IOleInPlaceUIWindow::SetActiveObject 方法 (oleidl.h)

提供物件與每一個框架和文檔視窗之間的直接通訊通道。

語法

HRESULT SetActiveObject(
  [in] IOleInPlaceActiveObject *pActiveObject,
  [in] LPCOLESTR               pszObjName
);

參數

[in] pActiveObject

使用中就地物件上 IOleInPlaceActiveObject 介面的指標。

[in] pszObjName

字串的指標,其中包含描述內嵌容器可用於撰寫其視窗標題的物件名稱。 如果物件不需要容器變更其視窗標題,它可以是 NULL 。 容器應該忽略此參數,並在標題欄中一律使用自己的名稱。

傳回值

此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。

傳回碼 Description
E_UNEXPECTED
已發生未預期的錯誤。

備註

一般而言,內嵌對象應該為 pszObjName 參數傳遞 NULL, (請參閱下方的實作者注意事項) 。 不過,如果您要與容器搭配運作,該容器會在其標題欄中顯示就地使用中對象的名稱,則應該以下列格式撰寫字串: <應用程式名稱> – <對象簡短類型名稱>。

來電者附註

物件會呼叫 IOleInPlaceUIWindow::SetActiveObject,以建立本身與檔與框架視窗之間的直接通訊連結。

停用時,物件會呼叫 IOleInPlaceUIWindow::SetActiveObject,並傳遞 pActiveObject 和 pszObjName 參數的 NULL

對象必須先呼叫 IOleInPlaceUIWindow::SetActiveObject ,再呼叫 IOleInPlaceFrame::SetMenu ,才能為容器提供使用中物件的指標。 容器接著會在處理 IOleInPlaceFrame::SetMenu 時使用此指標,並傳遞至 OleSetMenuDescriptor

實作者的注意事項

Microsoft Windows 使用者介面設計指南建議就地容器忽略此方法中傳遞的 pszObjName 參數。 本指南顯示「標題欄不受就地啟用影響。 它一律會顯示最上層容器的名稱。」

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 oleidl.h

另請參閱

IOleInPlaceFrame::SetMenu

IOleInPlaceUIWindow

OleSetMenuDescriptor