IOleInPlaceUIWindow::RequestBorderSpace 方法 (oleidl.h)
判斷當物件就地使用時,工具是否可在物件視窗框架周圍安裝空間。
語法
HRESULT RequestBorderSpace(
[in] LPCBORDERWIDTHS pborderwidths
);
參數
[in] pborderwidths
BORDERWIDTHS 結構的指標,其中包含工具視窗每一側所需的像素寬度 () 。
傳回值
此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。
傳回碼 | Description |
---|---|
|
對象無法在此視窗物件中安裝工具列,因為實作不支援工具列,或沒有足夠的空間可安裝工具列。 |
|
已發生未預期的錯誤。 |
備註
來電者的附註
作用中的就地物件會呼叫 IOleInPlaceUIWindow::RequestBorderSpace ,詢問工具是否可以安裝在視窗框架內。 這些工具會在 IOleInPlaceUIWindow::GetBorder 所傳回的矩形與這個呼叫的自變數中指定的 BORDERWIDTHS 結構之間配置。工具的空間實際上不會配置給物件,直到呼叫 IOleInPlaceUIWindow::SetBorderSpace 為止,允許物件交涉空間 (,例如拖曳工具列繞) ,但延遲移動工具直到動作完成為止。
物件可以透過傳遞要用於每一端的圖元寬度來安裝這些工具。 例如,如果對象在頂端需要 10 像素、底部 0 圖元,以及左邊和右邊 5 圖元,它會將下列 BORDERWIDTHS 結構傳遞至 IOleInPlaceUIWindow::RequestBorderSpace:
lpbw->top = 10
lpbw->bottom = 0
lpbw->lLeft = 5
lpbw->right = 5
注意 在執行 IOleInPlaceUIWindow::RequestBorderSpace 時,請勿呼叫 PeekMessage 或 GetMessage 函式或對話框。 這樣做可能會導致系統死結。 從 IOleInPlaceUIWindow::RequestBorderSpace 內呼叫 OLE 介面方法和函式有進一步的限制。
實作者的注意事項
如果作用中對象用於其工具列的空間量與容器無關,它只能傳回 NOERROR,如下列 IOleInPlaceUIWindow::RequestBorderSpace 範例所示。 容器不應該不小心限制使用中就地對象顯示工具。HRESULT InPlaceUIWindow_RequestBorderSpace(
IOleInPlaceFrame * lpThis,
LPCBORDERWIDTHS pborderwidths)
{
// Container allows the object to have as much border space as it
// wants.
return NOERROR;
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | oleidl.h |