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


Метод IUIAutomationTextRange::MoveEndpointByUnit (uiautomationclient.h)

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

Синтаксис

HRESULT MoveEndpointByUnit(
  [in]          TextPatternRangeEndpoint endpoint,
  [in]          TextUnit                 unit,
  [in]          int                      count,
  [out, retval] int                      *moved
);

Параметры

[in] endpoint

Тип: TextPatternRangeEndpoint

Значение типа , указывающее конечную точку (начальную или конечную) для перемещения.

[in] unit

Тип: TextUnit

Значение типа , указывающее текстовую единицу для перемещения, например строку или абзац.

[in] count

Тип: int

Число перемещаемых единиц. При положительном значении выполняется перемещение вперед. При отрицательном значении выполняется перемещение назад. При значении 0 перемещение не выполняется.

[out, retval] moved

Тип: int*

Получает количество фактически перемещенных единиц. Это значение может быть меньше запрошенного числа, если перемещение конечной точки выполняется в начале или конце документа.

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

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Конечная точка перемещается вперед или назад, как указано, к следующей доступной границе единицы. Если исходная конечная точка находилась на границе указанной текстовой единицы, конечная точка перемещается на следующую границу доступной текстовой единицы, как показано на следующем рисунке.

Иллюстрация, показывающая перемещение конечных точек текстового диапазона Если перемещаемая конечная точка пересекает другую конечную точку того же текстового диапазона, то другая конечная точка также перемещается, что приводит к вырождению диапазона и обеспечению правильного упорядочения конечной точки (то есть начало всегда меньше или равно концу).

Функция MoveEndpointByUnit не поддерживается до следующей поддерживаемой текстовой единицы, если данный текстовый блок не поддерживается элементом управления .

Здесь приведен порядок от наименьшей единицы до наибольшего.

  • Символ
  • Формат
  • Word
  • Линия
  • Paragraph
  • Страница
  • Document

Поведение диапазона при значении единицы измеренияTextUnit::Format

TextUnit::Format как значение единицы позиционирует границу текстового диапазона для расширения или перемещения диапазона на основе атрибутов общего текста (формата) текста в диапазоне. Однако использование текстовой единицы форматирования не приведет к перемещению или расширению диапазона текста через границу внедренного объекта, например изображения или гиперссылки. Дополнительные сведения см. в разделе модель автоматизации пользовательского интерфейса текстовых единиц или поддержка модель автоматизации пользовательского интерфейса для текстового содержимого.

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista с пакетом обновления 2 (SP2) и Обновление платформы для Windows Vista, Windows XP с пакетом обновления 3 (SP3) и Обновление платформы для Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и обновление платформы для Windows Server 2008, Windows Server 2003 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header uiautomationclient.h (включая UIAutomation.h)

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

IUIAutomationTextRange

Модель автоматизации пользовательского интерфейса поддержка текстового содержимого