Compartilhar via


Método ITextStoreAnchor::GetAnchorFromPoint (textstor.h)

O método ITextStoreAnchor::GetAnchorFromPoint converte um ponto nas coordenadas da tela em uma âncora posicionada em um local correspondente.

Sintaxe

HRESULT GetAnchorFromPoint(
  [in]  TsViewCookie vcView,
  [in]  const POINT  *ptScreen,
  [in]  DWORD        dwFlags,
  [out] IAnchor      **ppaSite
);

Parâmetros

[in] vcView

Especifica a exibição de contexto.

[in] ptScreen

Ponteiro para a estrutura POINT com as coordenadas de tela do ponto.

[in] dwFlags

Especifica a posição de âncora a ser retornada com base nas coordenadas de tela do ponto em relação a uma caixa delimitadora de caracteres. Por padrão, a posição de âncora retornada é a caixa delimitadora de caracteres que contém as coordenadas da tela do ponto. Se o ponto estiver fora de uma caixa delimitadora de caracteres, o método retornará NULL ou TF_E_INVALIDPOINT. Outros sinalizadores de bits para esse parâmetro são os seguintes.

Os sinalizadores de bits podem ser combinados.

Valor Significado
GXFPF_ROUND_NEAREST
Se as coordenadas de tela do ponto estiverem contidas em uma caixa delimitadora de caracteres, uma âncora será retornada na borda delimitada mais próxima das coordenadas da tela do ponto.
GXFPF_NEAREST
Se as coordenadas de tela do ponto não estiverem contidas em uma caixa delimitadora de caracteres, uma âncora na posição de caractere mais próxima será retornada.

[out] ppaSite

Ponteiro para um objeto de âncora em um local correspondente às coordenadas da tela ptScreen.

Valor retornado

Esse método pode retornar um desses valores.

Valor Descrição
S_OK
O método foi bem-sucedido.
E_FAIL
O método falhou.
E_INVALIDARG
Um ou mais parâmetros de entrada são inválidos.
E_OUTOFMEMORY
Falha na tentativa de instanciar uma âncora no local especificado.
TS_E_INVALIDPOINT
O parâmetro ptScreen não está dentro da caixa delimitadora de nenhum caractere.
TS_E_NOLAYOUT
O aplicativo ainda não calculou um layout de texto.

Comentários

O ponto 1 está na caixa delimitadora de caracteres e o ponto 2 está fora da caixa delimitadora de caracteres. As coordenadas de tela do ponto 1 fazem com que o deslocamento (posição do caractere) do ppaSite de âncora seja 0 por padrão ou se o parâmetro dwFlags for definido como GXFPF_NEAREST porque as coordenadas de tela do ponto 1 estão dentro da caixa delimitadora de caracteres da posição 0 do caractere. Se o parâmetro dwFlags estiver definido como GXFPF_ROUND_NEAREST para o ponto 1, o deslocamento de âncora será 1 porque as coordenadas de tela do ponto 1 estão mais próximas da posição de intervalo 1. A posição do intervalo 1 é a posição do intervalo inicial da posição 1 do caractere.

Para as coordenadas de tela do ponto 2, o método retorna TF_E_INVALIDPOINT por padrão ou se o parâmetro dwFlags é definido como GXFPF_NEAREST porque as coordenadas de tela do ponto 2 estão fora de uma caixa delimitadora de caracteres. Se o parâmetro dwFlags for definido como GXFPF_ROUND_NEAREST, as coordenadas de tela do ponto 2 farão com que o deslocamento de âncora seja 1, pois a posição de caractere mais próxima das coordenadas de tela do ponto 2 é a posição 1 do caractere.

Ponto 1

  • Padrão– deslocamento de âncora = 0 --O ponto de coordenadas da tela está dentro da caixa delimitadora de caracteres da Posição 0 do caractere.
  • -- GXFPF_ROUND_NEARESTdeslocamento de âncora = 1 --As coordenadas de tela do ponto são mais próximas da Posição de Intervalo 1, que é a posição do intervalo inicial da Posição 1 do Caractere.
  • -- GXFPF_NEARESTdeslocamento de âncora = 0 --O comportamento padrão ocorre porque o ponto está dentro da caixa delimitadora de caracteres da Posição 0 do caractere.
Ponto 2
  • Default-- hr = TF_E_INVALIDPOINT --As coordenadas de tela do ponto estão fora de uma caixa delimitadora de caracteres.
  • GXFPF_ROUND_NEAREST-- hr = TF_E_INVALIDPOINT --O comportamento padrão ocorre porque as coordenadas de tela do ponto estão fora de uma caixa delimitadora de caracteres.
  • GXFPF_NEAREST-- deslocamento de âncora = 1 --A posição de caractere mais próxima das coordenadas da tela do ponto é a Posição 1 do Caractere.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho textstor.h
DLL Msctf.dll
Redistribuível TSF 1.0 no Windows 2000 Professional

Confira também

constantes GXFPF_*

ITextStoreAnchor

ITfContextView::GetRangeFromPoint

Valores retornados do gerenciador

TsViewCookie