Share via


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

El método ITextStoreAnchor::GetAnchorFromPoint convierte un punto en coordenadas de pantalla en un delimitador situado en una ubicación correspondiente.

Sintaxis

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

Parámetros

[in] vcView

Especifica la vista de contexto.

[in] ptScreen

Puntero a la estructura POINT con las coordenadas de pantalla del punto.

[in] dwFlags

Especifica la posición del delimitador que se va a devolver en función de las coordenadas de pantalla del punto en relación con un cuadro de límite de caracteres. De forma predeterminada, la posición del delimitador devuelta es el cuadro de límite de caracteres que contiene las coordenadas de pantalla del punto. Si el punto está fuera de un cuadro de límite de caracteres, el método devuelve NULL o TF_E_INVALIDPOINT. Otras marcas de bits para este parámetro son las siguientes.

Las marcas de bits se pueden combinar.

Value Significado
GXFPF_ROUND_NEAREST
Si las coordenadas de pantalla del punto están contenidas en un cuadro de límite de caracteres, se devuelve un delimitador en el borde delimitador más cercano a las coordenadas de pantalla del punto.
GXFPF_NEAREST
Si las coordenadas de pantalla del punto no están contenidas en un cuadro de límite de caracteres, se devuelve un delimitador en la posición de carácter más cercana.

[out] ppaSite

Puntero a un objeto delimitador en una ubicación correspondiente a las coordenadas de pantalla ptScreen.

Valor devuelto

Este método puede devolver uno de estos valores.

Value Descripción
S_OK
Método realizado correctamente.
E_FAIL
Error en el método.
E_INVALIDARG
Uno o varios parámetros de entrada no son válidos.
E_OUTOFMEMORY
Error al intentar crear una instancia de un delimitador en la ubicación especificada.
TS_E_INVALIDPOINT
El parámetro ptScreen no está dentro del rectángulo delimitador de ningún carácter.
TS_E_NOLAYOUT
La aplicación aún no ha calculado un diseño de texto.

Comentarios

El punto 1 está en el cuadro de límite de caracteres y el punto 2 está fuera del cuadro de límite de caracteres. Las coordenadas de pantalla de punto 1 hacen que el desplazamiento (posición de carácter) del ppaSite sea 0 de forma predeterminada o si el parámetro dwFlags se establece en GXFPF_NEAREST porque las coordenadas de pantalla del punto 1 están dentro del cuadro de límite de caracteres de la posición de carácter 0. Si el parámetro dwFlags se establece en GXFPF_ROUND_NEAREST para el punto 1, el desplazamiento del delimitador es 1 porque las coordenadas de pantalla de punto 1 están más cercanas a la posición del intervalo 1. La posición del intervalo 1 es la posición inicial del intervalo de carácter 1.

Para las coordenadas de pantalla de punto 2, el método devuelve TF_E_INVALIDPOINT de forma predeterminada o si el parámetro dwFlags está establecido en GXFPF_NEAREST porque las coordenadas de pantalla de punto 2 están fuera de un cuadro de límite de caracteres. Si el parámetro dwFlags se establece en GXFPF_ROUND_NEAREST, las coordenadas de pantalla de punto 2 hacen que el desplazamiento del delimitador sea 1, ya que la posición del carácter más cercana a las coordenadas de pantalla del punto 2 es la posición de carácter 1.

Punto 1

  • Valor predeterminado: desplazamiento de delimitador = 0 : el punto de coordenadas de pantalla está dentro del cuadro de límite de caracteres de Posición de caracteres 0.
  • -- GXFPF_ROUND_NEARESTdesplazamiento de delimitador = 1: las coordenadas de pantalla del punto son más cercanas a la posición del intervalo 1, que es la posición inicial del intervalo de posición de carácter 1.
  • -- GXFPF_NEARESTdesplazamiento de delimitador = 0- El comportamiento predeterminado se produce porque el punto está dentro del cuadro de límite de caracteres de Posición de caracteres 0.
Punto 2
  • Valor predeterminado: hr = TF_E_INVALIDPOINT : las coordenadas de pantalla del punto están fuera de un cuadro de límite de caracteres.
  • GXFPF_ROUND_NEAREST-- hr = TF_E_INVALIDPOINT --El comportamiento predeterminado se produce porque las coordenadas de pantalla del punto están fuera de un cuadro de límite de caracteres.
  • GXFPF_NEAREST-- desplazamiento de delimitador = 1 - La posición de carácter más cercana a las coordenadas de pantalla del punto es Posición de carácter 1.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado textstor.h
Archivo DLL Msctf.dll
Redistribuible TSF 1.0 en Windows 2000 Professional

Consulte también

GXFPF_* Constantes

ITextStoreAnchor

ITfContextView::GetRangeFromPoint

Valores devueltos por el administrador

TsViewCookie