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


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

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

Синтаксис

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

Параметры

[in] unit

Тип: TextUnit

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

[in] count

Тип: int

Количество единиц текста, на которое следует выполнить перемещение. Положительное значение перемещает текстовый диапазон вперед. Отрицательное значение перемещает текстовый диапазон назад. Ноль не оказывает влияния.

[out, retval] moved

Тип: int*

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

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

Тип: HRESULT

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

Комментарии

IUIAutomationTextRange::Move перемещает диапазон текста в другую часть текста; он никак не изменяет текст.

Для недегенерационного (непустого) текстового диапазона IUIAutomationTextRange::Move нормализует и перемещает диапазон, выполнив следующие действия.

  1. Текстовый диапазон свернут до дегенерированного (пустого) диапазона в начальной конечной точке.
  2. При необходимости результирующий диапазон текста перемещается в документе в начало границы запрошенной текстовой единицы.
  3. Текстовый диапазон перемещается вперед или назад в документе на требуемое количество границ единиц текста.
  4. Диапазон текста расширяется из состояния вырождения путем перемещения конечной точки вперед на одну запрошенную границу текстовой единицы.
Если какой-либо из предыдущих шагов завершается ошибкой, текстовый диапазон остается без изменений. Если диапазон текста не может быть перемещен на требуемое количество единиц текста, но может быть перемещен на меньшее количество единиц текста, диапазон текста перемещается на меньшее количество текстовых единиц, а для перемещений устанавливается число перемещенных единиц текста.

Для вырожденного текстового диапазона IUIAutomationTextRange::Move просто перемещает точку вставки текста на указанное число единиц текста.

При перемещении текстового диапазона IUIAutomationTextRange::Move игнорирует границы всех внедренных объектов в тексте.

IUIAutomationTextRange::Move учитывает как скрытый, так и видимый текст.

Если текстовый элемент управления не поддерживает единицу текста, указанную параметром unit , IUIAutomationTextRange::Move заменяет следующую большую поддерживаемую единицу текста.

Размер текстовых единиц , от наименьшей до самой большой, выглядит следующим образом.

  • Символ
  • Формат
  • Word
  • Строка
  • Paragraph
  • Страница
  • Документ

Поведение диапазона при значении единицы измерения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

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