IOleInPlaceUIWindow::RequestBorderSpace 方法 (oleidl.h)

判斷當物件就地使用時,工具是否可在物件視窗框架周圍安裝空間。

語法

HRESULT RequestBorderSpace(
  [in] LPCBORDERWIDTHS pborderwidths
);

參數

[in] pborderwidths

BORDERWIDTHS 結構的指標,其中包含工具視窗每一側所需的像素寬度 () 。

傳回值

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

傳回碼 Description
INPLACE_E_NOTOOLSPACE
對象無法在此視窗物件中安裝工具列,因為實作不支援工具列,或沒有足夠的空間可安裝工具列。
E_UNEXPECTED
已發生未預期的錯誤。

備註

來電者的附註

作用中的就地物件會呼叫 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 時,請勿呼叫 PeekMessageGetMessage 函式或對話框。 這樣做可能會導致系統死結。 從 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

另請參閱

IOleInPlaceUIWindow

IOleInPlaceUIWindow::GetBorder

IOleInPlaceUIWindow::SetBorderSpace