Condividi tramite


Metodo IOleInPlaceUIWindow::RequestBorderSpace (oleidl.h)

Determina se è disponibile spazio per gli strumenti da installare intorno alla cornice della finestra dell'oggetto mentre l'oggetto è attivo sul posto.

Sintassi

HRESULT RequestBorderSpace(
  [in] LPCBORDERWIDTHS pborderwidths
);

Parametri

[in] pborderwidths

Puntatore a una struttura BORDERWIDTHS contenente le larghezze richieste (in pixel) necessarie su ogni lato della finestra per gli strumenti.

Valore restituito

Questo metodo restituisce S_OK se l'operazione ha esito positivo. Gli altri valori restituiti possibili includono i seguenti:

Codice restituito Descrizione
INPLACE_E_NOTOOLSPACE
L'oggetto non può installare barre degli strumenti in questo oggetto finestra perché l'implementazione non supporta le barre degli strumenti o non è disponibile spazio sufficiente per installare le barre degli strumenti.
E_UNEXPECTED
Si è verificato un errore imprevisto.

Commenti

Note ai chiamanti

L'oggetto sul posto attivo chiama IOleInPlaceUIWindow::RequestBorderSpace per chiedere se gli strumenti possono essere installati all'interno del frame della finestra. Questi strumenti verranno allocati tra il rettangolo restituito da IOleInPlaceUIWindow::GetBorder e la struttura BORDERWIDTHS specificata nell'argomento per questa chiamata.

Lo spazio per gli strumenti non viene effettivamente allocato all'oggetto fino a quando non chiama IOleInPlaceUIWindow::SetBorderSpace, consentendo all'oggetto di negoziare lo spazio ,ad esempio durante il trascinamento delle barre degli strumenti, ma rinviando lo spostamento degli strumenti fino al completamento dell'azione.

L'oggetto può installare questi strumenti passando la larghezza in pixel da utilizzare su ogni lato. Ad esempio, se l'oggetto richiedeva 10 pixel nella parte superiore, 0 pixel in basso e 5 pixel sul lato sinistro e destro, passerebbe la struttura BORDERWIDTHS seguente a IOleInPlaceUIWindow::RequestBorderSpace:

lpbw->top    = 10
lpbw->bottom =  0
lpbw->lLeft  =  5
lpbw->right  =  5
Nota Durante l'esecuzione di IOleInPlaceUIWindow::RequestBorderSpace, non effettuare chiamate alle funzioni PeekMessage o GetMessage o a una finestra di dialogo. In questo modo il sistema potrebbe causare un deadlock. Esistono ulteriori restrizioni per cui è possibile chiamare metodi e funzioni dell'interfaccia OLE da IOleInPlaceUIWindow::RequestBorderSpace.
 

Note per gli implementatori

Se la quantità di spazio usata da un oggetto attivo per le relative barre degli strumenti è irrilevante per il contenitore, può semplicemente restituire NOERROR, come illustrato nell'esempio IOleInPlaceUIWindow::RequestBorderSpace seguente. I contenitori non devono limitare eccessivamente la visualizzazione degli strumenti da un oggetto sul posto attivo.
HRESULT InPlaceUIWindow_RequestBorderSpace( 
    IOleInPlaceFrame *  lpThis, 
    LPCBORDERWIDTHS     pborderwidths) 
{ 
    // Container allows the object to have as much border space as it 
    // wants.  
    return NOERROR; 
} 

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione oleidl.h

Vedi anche

Ioleinplaceuiwindow

IOleInPlaceUIWindow::GetBorder

IOleInPlaceUIWindow::SetBorderSpace