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


Метод ITfContextOwner::GetACPFromPoint (msctf.h)

Метод ITfContextOwner::GetACPFromPoint преобразует точку в координатах экрана в положение символа приложения.

Синтаксис

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

Параметры

[in] ptScreen

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

[in] dwFlags

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

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

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

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

[out] pacp

Получает позицию символа, соответствующую координатам экрана точки.

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

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

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

Комментарии

Точка 1 находится в ограничивающем поле символов, а точка 2 находится за пределами ограничивающего поля символов. Используйте иллюстрацию для определения позиции символа, возвращаемой на основе флагов, используемых в параметре dwFlags .

Точка 1

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header msctf.h
DLL Msimtf.dll
Распространяемые компоненты TSF 1.0 в Windows 2000 Профессиональная

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

ITextStoreACP::GetACPFromPoint

ITfContextOwner

ITfContextView::GetRangeFromPoint

TsViewCookie