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


Метод ITextStoreACP::GetACPFromPoint (texttor.h)

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

Синтаксис

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

Параметры

[in] vcView

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

[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 находится за пределами ограничивающего поля символов. Экранные координаты точки 1 приводят к тому, что параметр pacp по умолчанию равен 0 или если параметру dwFlags присвоено значение GXFPF_NEAREST так как координаты экрана точки 1 находятся внутри ограничивающего прямоугольника символа позиции символа 0. Если для параметра dwFlags задано значение GXFPF_ROUND_NEAREST для точки 1, параметр pacp равен 1, так как координаты экрана точки 1 ближе всего к позиции диапазона 1. Позиция диапазона 1 — начальная позиция диапазона символа 1.

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

Точка 1

  • По умолчанию — pacp = 0 — точка координат экрана находится внутри ограничивающего символьного прямоугольника позиции символа 0.
  • -- GXFPF_ROUND_NEARESTpacp = 1 --Экранные координаты точки ближе всего к позиции диапазона 1, которая является начальной позицией диапазона позиции символа 1.
  • -- GXFPF_NEARESTpacp = 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 textstor.h
DLL Msctf.dll
Распространяемые компоненты TSF 1.0 в Windows 2000 Профессиональная

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

Константы GXFPF_*

ITextStoreACP

ITfContextOwner::GetACPFromPoint

ITfContextView::GetRangeFromPoint

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

TsViewCookie