IOleObject::GetExtent 方法 (oleidl.h)

擷取執行中物件的目前顯示大小。

語法

HRESULT GetExtent(
  [in]  DWORD dwDrawAspect,
  [out] SIZEL *psizel
);

參數

[in] dwDrawAspect

要擷取其限制的物件層面;值是從 DVASPECT 列舉和 DVASPECT2取得。 請注意,支援優化繪圖介面的新物件和容器支援 DVASPECT2 列舉值。 不支援優化繪圖介面的舊物件和容器可能不支援 DVASPECT2。 這個方法最常見的值是DVASPECT_CONTENT,它會指定其容器內物件的完整轉譯。

[out] psizel

要傳回物件大小之位置的指標。

傳回值

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

傳回碼 Description
E_INVALIDARG
提供的 dwDrawAspect 值無效。

備註

容器會在執行中物件上呼叫 IOleObject::GetExtent ,以擷取其目前的顯示大小。 如果容器可以容納該大小,它通常會這麼做,因為對象之後就知道它應該比容器更好的大小。 容器通常會在初始化 物件時進行此呼叫。

IOleObject::GetExtent 所傳回的顯示大小可能與 IOleObject::SetExtent 最後一個設定的大小不同,因為後者方法會在呼叫 方法時指定對象的顯示空間,但不一定變更物件的原生大小,取決於其應用程式。

如果在 dwAspect 中要求其中一個新層面,這個方法可能會失敗或傳回與DVASPECT_CONTENT層面相同的矩形。

注意 這個方法必須針對 DVASPECT2中的所有新層面,傳回與DVASPECT_CONTENT相同的大小。 IViewObject2::GetExtent 必須執行相同的動作。
 

來電者的附註

因為容器只能對執行中的對象進行這個呼叫,所以如果容器想要從其快取取得載入對象的顯示大小,則必須改為呼叫 IViewObject2::GetExtent

實作者的注意事項

實作包含以物件的高度和寬度填滿 sizel 結構。

規格需求

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

另請參閱

DVASPECT

DVASPECT2

IOleObject

IOleObject::GetExtent

IOleObject::SetExtent