Método IInkDisp::NearestPoint (msinkaut.h)

Recupera o IInkStrokeDisp dentro do objeto InkDisp mais próximo de um ponto conhecido, fornecendo opcionalmente o índice do ponto mais próximo e a distância até o traço do ponto especificado.

Sintaxe

HRESULT NearestPoint(
  [in]                long           X,
  [in]                long           Y,
  [in, out, optional] float          *PointOnStroke,
  [in, out, optional] float          *DistanceFromPacket,
  [out, retval]       IInkStrokeDisp **Stroke
);

Parâmetros

[in] X

A x- posição no espaço à tinta do ponto.

[in] Y

Especifica a y- posição no espaço à tinta do ponto.

[in, out, optional] PointOnStroke

Opcional. Recupera o ponto na linha do traço mais próximo do ponto especificado dentro do objeto InkDisp . Por exemplo, um valor de 1,5 indica que o ponto fica na metade entre o primeiro e o segundo pacotes do traço. Este parâmetro pode ser NULL. O valor padrão é 0.

[in, out, optional] DistanceFromPacket

Opcional. Recupera a distância entre o ponto especificado no espaço à tinta e o traço mais próximo no objeto InkDisp . Este parâmetro pode ser NULL. o valor padrão é 0.

[out, retval] Stroke

Quando este método retorna, contém o IInkStrokeDisp que contém um ponto mais próximo do ponto especificado no objeto InkDisp . Se mais de um traço contiver um ponto que seja a mesma distância do ponto especificado, o valor desse resultado será arbitrário.

Valor retornado

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_FAIL
Ocorreu um erro não especificado.
E_INK_EXCEPTION
Ocorreu uma exceção dentro do método .
E_OUTOFMEMORY
Não é possível alocar a operação de memória.

Comentários

O parâmetro de ponto de saída é definido como um número de ponto flutuante porque o ponto na linha do traço pode ficar entre dois pontos de coordenadas físicas. Use esse valor para dividir o traço com o método Split ou arredondar o valor para cima ou para baixo para indexar um pacote no traço.

O parâmetro distanceFromPacket descreve a distância do ponto até o envelope do traço. Essa é a distância entre os dois pontos menos metade da largura do traço.

Requisitos

   
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

Iinkdisp

IInkStrokeDisp Interface

Classe InkDisp

Método NearestPoint [Interface IInkStrokeDisp]

Método Split