Compartilhar via


Método IOleInPlaceObject::SetObjectRects (oleidl.h)

Especifica quanto do objeto in-loco deve estar visível.

Sintaxe

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

Parâmetros

[in] lprcPosRect

Um ponteiro para a estrutura RECT que contém a posição do objeto in-loco usando as coordenadas do cliente de sua janela pai.

[in] lprcClipRect

Um ponteiro para o retângulo externo que contém o retângulo de posição do objeto in-loco (lprcPosRect). Esse retângulo é relativo à área do cliente da janela pai do objeto.

Retornar valor

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

Código de retorno Descrição
E_INVALIDARG
O ponteiro especificado é inválido.
E_OUTOFMEMORY
Não há memória suficiente disponível para a operação.
E_UNEXPECTED
Ocorreu um erro inesperado.

Comentários

É possível que lprcClipRect seja alterado sem a alteração de lprcPosRect .

O tamanho do retângulo de um objeto in-loco é sempre calculado em pixels. Isso é diferente das visualizações de outros objetos OLE, que estão em HIMETRIC.

Nota Durante a execução de IOleInPlaceObject::SetObjectRects, 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 IOleInPlaceObject::SetObjectRects.
 

Anotações para chamadores

O contêiner deve chamar IOleInPlaceObject::SetObjectRects sempre que a posição da janela do objeto in-loco e/ou a parte visível do objeto in-loco for alterada.

Anotações aos implementadores

O objeto deve dimensionar sua janela in-loco para corresponder à interseção de lprcPosRect e lprcClipRect. O objeto também deve desenhar seu conteúdo na janela in-loco do objeto para que o recorte adequado ocorra.

O objeto deve comparar sua largura e altura com as fornecidas por seu contêiner (transmitidas por meio de lprcPosRect). Se a comparação não resultar em uma correspondência, o contêiner estará aplicando o dimensionamento ao objeto . Em seguida, o objeto deve decidir se deve continuar a edição in-loco no modo de escala/zoom ou desativar.

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

GetMessage

Ioleinplaceobject

IOleInPlaceSite::OnPosRectChange

PeekMessage