Поделиться через


Метод ITextStoreAnchor::GetAnchorFromPoint (texttor.h)

Метод ITextStoreAnchor::GetAnchorFromPoint преобразует точку в координатах экрана в привязку, расположенную в соответствующем расположении.

Синтаксис

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

Параметры

[in] vcView

Указывает представление контекста.

[in] ptScreen

Указатель на структуру POINT с экранными координатами точки.

[in] dwFlags

Задает возвращаемую позицию привязки на основе экранных координат точки относительно ограничивающего символьного прямоугольника. По умолчанию возвращенная позиция привязки — это ограничивающий знак, содержащий экранные координаты точки. Если точка находится за пределами ограничивающего поля символов, метод возвращает значение NULL или TF_E_INVALIDPOINT. Ниже приведены другие битовые флаги для этого параметра.

Битовые флаги можно объединять.

Значение Значение
GXFPF_ROUND_NEAREST
Если экранные координаты точки содержатся в ограничивающем символьном прямоугольнике, привязка возвращается на ограничивающем крае, ближайшем к координатам экрана точки.
GXFPF_NEAREST
Если экранные координаты точки не содержатся в ограничивающем символьном прямоугольнике, возвращается привязка в ближайшей позиции символа.

[out] ppaSite

Указатель на объект привязки в расположении, соответствующем координатам экрана ptScreen.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Значение Описание
S_OK
Метод выполнен успешно.
E_FAIL
Сбой метода.
E_INVALIDARG
Один или несколько входных параметров недопустимы.
E_OUTOFMEMORY
Попытка создать экземпляр привязки в указанном расположении завершилась сбоем.
TS_E_INVALIDPOINT
Параметр ptScreen не находится в ограничивающем прямоугольнике какого-либо символа.
TS_E_NOLAYOUT
Приложение еще не вычислило макет текста.

Комментарии

Точка 1 находится в ограничивающем поле символов, а точка 2 находится за пределами ограничивающего поля символов. Координаты экрана в точке 1 приводят к тому, что смещение (положение символа) привязки ppaSite по умолчанию равно 0 или если параметру dwFlags задано значение GXFPF_NEAREST так как координаты экрана точки 1 находятся внутри ограничивающего символа поля позиции символа 0. Если для параметра dwFlags задано значение GXFPF_ROUND_NEAREST для точки 1, смещение привязки равно 1, так как координаты экрана точки 1 ближе всего к позиции диапазона 1. Позиция диапазона 1 — начальная позиция диапазона символа 1.

Для экранных координат точки 2 метод возвращает TF_E_INVALIDPOINT по умолчанию или значение , если параметру dwFlags присвоено значение GXFPF_NEAREST так как координаты экрана точки 2 находятся вне ограничивающего символьного поля. Если параметру dwFlags задано значение GXFPF_ROUND_NEAREST, то координаты экрана в точке 2 приводят к тому, что смещение привязки равно 1, так как ближайшее положение символа к координатам экрана точки 2 — это позиция символа 1.

Пункт 1

  • По умолчанию — смещение привязки = 0 — точка координат экрана находится внутри ограничивающего поля символа позиции символа 0.
  • -- GXFPF_ROUND_NEARESTсмещение привязки = 1 --Координаты экрана точки ближе всего к позиции диапазона 1, которая является начальной позицией диапазона позиции символа 1.
  • -- GXFPF_NEARESTсмещение привязки = 0 --Поведение по умолчанию происходит, так как точка находится в пределах ограничивающего поля символа позиции символа 0.
Точка 2
  • По умолчанию — hr = TF_E_INVALIDPOINT — экранные координаты точки находятся за пределами ограничивающего символьного поля.
  • GXFPF_ROUND_NEAREST- hr = TF_E_INVALIDPOINT --Поведение по умолчанию происходит из-за того, что экранные координаты точки находятся за пределами ограничивающего символьного прямоугольника.
  • GXFPF_NEAREST-- смещение привязки = 1 --Ближайшее положение символа к координатам экрана точки — Позиция символа 1.

Требования

   
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header textstor.h
DLL Msctf.dll
Распространяемые компоненты TSF 1.0 в Windows 2000 Профессиональная

См. также раздел

Константы GXFPF_*

ITextStoreAnchor

ITfContextView::GetRangeFromPoint

Возвращаемые значения диспетчера

TsViewCookie