共用方式為


IOleInPlaceObject::SetObjectRects 方法 (oleidl.h)

指定要顯示多少就地物件。

語法

HRESULT SetObjectRects(
  [in] LPCRECT lprcPosRect,
  [in] LPCRECT lprcClipRect
);

參數

[in] lprcPosRect

RECT 結構的指標,其中包含使用其父視窗的用戶端座標就地物件的位置。

[in] lprcClipRect

外部矩形的指標,其中包含就地物件的位置矩形 (lprcPosRect) 。 這個矩形相對於物件父視窗的工作區。

傳回值

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

傳回碼 Description
E_INVALIDARG
指定的指標無效。
E_OUTOFMEMORY
作業的記憶體不足。
E_UNEXPECTED
已發生未預期的錯誤。

備註

lprcClipRect 可以變更,而不需變更 lprcPosRect

就地物件矩形的大小一律以像素計算。 這與其他 OLE 對象的視覺效果不同,這些視覺效果位於 HIMETRIC 中。

注意 在執行 IOleInPlaceObject::SetObjectRects 時,請勿呼叫 PeekMessageGetMessage 函式或對話框。 這樣做可能會導致系統死結。 從 IOleInPlaceObject::SetObjectRects 內呼叫 OLE 介面方法和函式有進一步的限制。
 

來電者的附註

每當就地對象的視窗位置和/或就地對象可見部分變更時,容器應該呼叫 IOleInPlaceObject::SetObjectRects

實作者的注意事項

對象必須調整其就地視窗的大小,以符合 lprcPosRectlprcClipRect 的交集。 對象也必須將其內容繪製到物件的就地視窗中,以便進行適當的裁剪。

對象應該比較其寬度和高度與其容器所提供的寬度和高度, (透過 lprcPosRect) 來傳達。 如果比較不會產生相符專案,容器就會將調整套用至 物件。 然後,對象必須決定是否應該在縮放/縮放模式中繼續就地編輯,還是停用。

規格需求

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

另請參閱

GetMessage

IOleInPlaceObject

IOleInPlaceSite::OnPosRectChange

PeekMessage