Compartilhar via


Método IInkStrokes::GetBoundingBox (msinkaut.h)

Obtém a caixa delimitadora em coordenadas de espaço à tinta para todos os traços em um objeto InkDisp , um traço individual ou uma coleção InkStrokes .

Sintaxe

HRESULT GetBoundingBox(
  [in, optional] InkBoundingBoxMode BoundingBoxMode,
  [out, retval]  IInkRectangle      **BoundingBox
);

Parâmetros

[in, optional] BoundingBoxMode

Opcional. Especifica as características de traço a serem usadas para calcular a caixa delimitadora. Para obter mais detalhes sobre o uso de características de traço para calcular uma caixa delimitadora, consulte o tipo de enumeração BoundingBoxMode .

O parâmetro BoundingBoxMode do método GetBoundingBox tem um valor padrão de -1, o que significa que todas as características de um traço são usadas para especificar a caixa delimitadora.

[out, retval] BoundingBox

Quando esse método retorna, contém um ponteiro para o retângulo que define a caixa delimitadora de um objeto InkDisp , um objeto IInkStrokeDisp ou uma coleção InkStrokes .

Nota Para um objeto IInkStrokeDisp , a caixa delimitadora retornada é uma cópia da caixa delimitadora de traços, portanto, alterar a caixa delimitadora retornada não afeta o local dos traços.
 

Retornar valor

Esse método pode retornar um desses valores.

Código de retorno Descrição
S_OK
Êxito.
E_POINTER
Um parâmetro continha um ponteiro inválido.
E_INK_EXCEPTION
Ocorreu uma exceção dentro do método .
E_UNEXPECTED
Parâmetro inesperado ou tipo de propriedade.
REGDB_CLASSNOTREG
O objeto InkRectangle não está registrado.

Comentários

Quando a caixa delimitadora é afetada pela largura da caneta, essa largura é dimensionada adequadamente para a transformação de exibição do InkRenderer. Para fazer isso, a largura da caneta é multiplicada pela raiz quadrada do determinante da transformação de exibição.

Nota No Windows Vista e em versões posteriores, o Método GetBoundingBox não leva em conta a largura do traço.
 
Nota Se você não definiu a largura da caneta explicitamente, ela é 53 por padrão. Você deve multiplicar a largura da caneta pela raiz quadrada do determinante para produzir a caixa delimitadora correta. A altura e a largura da caixa delimitadora são expandidas pela metade dessa quantidade em cada direção. Por exemplo, considere que a largura da caneta é 53, a raiz quadrada do determinante é 50 e a caixa delimitadora é (0, 0, 1000, 1000). O ajuste de largura da caneta para a caixa delimitadora em cada direção é calculado como (53 * 50) / 2, e os lados direito e inferior são incrementados por um. Isso resulta em uma caixa delimitadora renderizada de (-1325, -1325, 2326, 2326).
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP Tablet PC Edition [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho msinkaut.h
Biblioteca InkObj.dll

Confira também

Iinkstrokes

Enumeração InkBoundingBoxMode

Classe InkRectangle

Coleção InkStrokes