Compartilhar via


Método ITextStoreACP::GetACPFromPoint (textstor.h)

O método ITextStoreACP::GetACPFromPoint converte um ponto nas coordenadas da tela em uma posição de caractere do aplicativo.

Sintaxe

HRESULT GetACPFromPoint(
  [in]  TsViewCookie vcView,
  [in]  const POINT  *ptScreen,
  [in]  DWORD        dwFlags,
  [out] LONG         *pacp
);

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 do caractere a ser retornada com base nas coordenadas da tela do ponto em relação a uma caixa delimitadora de caracteres. Por padrão, a posição do caractere 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, a posição do caractere retornada será a 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, a posição do caractere mais próximo será retornada.

[out] pacp

Recebe a posição do caractere que corresponde às coordenadas da tela do ponto.

Valor retornado

Esse método pode retornar um desses valores.

Valor Descrição
S_OK
O método foi bem-sucedido.
TS_E_INVALIDPOINT
O parâmetro ptScreen não está dentro da caixa delimitadora de nenhum caractere.
TS_E_NOLAYOUT
O aplicativo 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 parâmetro pacp seja 0 por padrão ou se o parâmetro dwFlags estiver 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 parâmetro pacp 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 estiver definido como GXFPF_ROUND_NEAREST, as coordenadas de tela do ponto 2 farão com que o parâmetro pacp 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– pacp = 0 --O ponto de coordenadas da tela está dentro da caixa delimitadora de caracteres da Posição 0 do Caractere.
  • -- GXFPF_ROUND_NEARESTpacp = 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_NEARESTpacp = 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-- pacp = 1 --A posição de caractere mais próxima das coordenadas da tela do ponto é a Posição do Caractere 1.

Requisitos

   
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 textstor.h
DLL Msctf.dll
Redistribuível TSF 1.0 no Windows 2000 Professional

Confira também

constantes GXFPF_*

Itextstoreacp

ITfContextOwner::GetACPFromPoint

ITfContextView::GetRangeFromPoint

Valores retornados do gerenciador

TsViewCookie