Compartilhar via


Método IOleInPlaceUIWindow::RequestBorderSpace (oleidl.h)

Determina se há espaço disponível para que as ferramentas sejam instaladas ao redor do quadro de janela do objeto enquanto o objeto está ativo no local.

Sintaxe

HRESULT RequestBorderSpace(
  [in] LPCBORDERWIDTHS pborderwidths
);

Parâmetros

[in] pborderwidths

Um ponteiro para uma estrutura BORDERWIDTHS que contém as larguras solicitadas (em pixels) necessárias em cada lado da janela para as ferramentas.

Retornar valor

Esse método retorna S_OK com êxito. Outros valores retornados possíveis incluem o seguinte.

Código de retorno Descrição
INPLACE_E_NOTOOLSPACE
O objeto não pode instalar barras de ferramentas neste objeto de janela porque a implementação não dá suporte a barras de ferramentas ou não há espaço suficiente para instalar as barras de ferramentas.
E_UNEXPECTED
Ocorreu um erro inesperado.

Comentários

Anotações para chamadores

O objeto in-loco ativo chama IOleInPlaceUIWindow::RequestBorderSpace para perguntar se as ferramentas podem ser instaladas dentro do quadro da janela. Essas ferramentas seriam alocadas entre o retângulo retornado por IOleInPlaceUIWindow::GetBorder e a estrutura BORDERWIDTHS especificada no argumento para essa chamada.

O espaço para as ferramentas não é realmente alocado para o objeto até que ele chame IOleInPlaceUIWindow::SetBorderSpace, permitindo que o objeto negocie por espaço (como ao arrastar barras de ferramentas ao redor), mas adiando a movimentação das ferramentas até que a ação seja concluída.

O objeto pode instalar essas ferramentas passando a largura em pixels que devem ser usados em cada lado. Por exemplo, se o objeto exigisse 10 pixels na parte superior, 0 pixels na parte inferior e 5 pixels nos lados esquerdo e direito, ele passaria a seguinte estrutura BORDERWIDTHS para IOleInPlaceUIWindow::RequestBorderSpace:

lpbw->top    = 10
lpbw->bottom =  0
lpbw->lLeft  =  5
lpbw->right  =  5
Nota Durante a execução de IOleInPlaceUIWindow::RequestBorderSpace, não faça chamadas para as funções PeekMessage ou GetMessage ou uma caixa de diálogo. Isso pode fazer com que o sistema fique em deadlock. Há outras restrições sobre quais métodos e funções de interface OLE podem ser chamados de dentro de IOleInPlaceUIWindow::RequestBorderSpace.
 

Anotações aos implementadores

Se a quantidade de espaço que um objeto ativo usa para suas barras de ferramentas for irrelevante para o contêiner, ele poderá simplesmente retornar NOERROR, conforme mostrado no exemplo IOleInPlaceUIWindow::RequestBorderSpace a seguir. Os contêineres não devem restringir indevidamente a exibição de ferramentas por um objeto in-loco ativo.
HRESULT InPlaceUIWindow_RequestBorderSpace( 
    IOleInPlaceFrame *  lpThis, 
    LPCBORDERWIDTHS     pborderwidths) 
{ 
    // Container allows the object to have as much border space as it 
    // wants.  
    return NOERROR; 
} 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho oleidl.h

Confira também

Ioleinplaceuiwindow

IOleInPlaceUIWindow::GetBorder

IOleInPlaceUIWindow::SetBorderSpace