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


Метод ITextRangeProvider::ExpandToEnclosingUnit (uiautomationcore.h)

Нормализует диапазон текста по заданной единице текста. Диапазон расширяется, если он меньше указанной единицы, или сокращается, если он длиннее указанной единицы.

Синтаксис

HRESULT ExpandToEnclosingUnit(
  [in] TextUnit unit
);

Параметры

[in] unit

Тип: TextUnit

Тип текстовых единиц, таких как символ, слово, абзац и т. д.

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

Тип: HRESULT

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

Комментарии

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

Несмотря на свое имя, метод ITextRangeProvider::ExpandToEnclosingUnit не обязательно расширяет текстовый диапазон. Вместо этого он "нормализует" текстовый диапазон, перемещая конечные точки таким образом, чтобы диапазон охватывал указанную текстовую единицу. Диапазон расширяется, если он меньше указанной единицы, или сокращается, если он длиннее указанной единицы. Если диапазон уже является точным количеством указанных единиц, он остается неизменным. Крайне важно, чтобы метод ExpandToEnclosingUnit всегда согласованно нормализовал текстовые диапазоны; в противном случае другие аспекты обработки диапазона текста единицами текста будут непредсказуемыми. На следующей схеме показано, как ExpandToEnclosingUnit нормализует текстовый диапазон путем перемещения конечных точек диапазона.

Схема, показывающая позиции конечных точек до и после вызова ExpandToEnclosingUnitExpandToEnclosingUnit по умолчанию использует следующую самую большую поддерживаемую текстовую единицу, если указанная текстовая единица не поддерживается элементом управления. Порядок от наименьшей единицы к наибольшему выглядит следующим образом:
  • Символ
  • Формат
  • Word
  • Линия
  • Paragraph
  • Страница
  • Document
ExpandToEnclosingUnit учитывает как видимый , так и скрытый текст.

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

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

Требования

   
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header uiautomationcore.h (включая UIAutomation.h)

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

Основные понятия

ITextProvider

ITextRangeProvider

Справочные материалы

Шаблоны элементов управления Text и TextRange

Общие сведения о поставщиках автоматизации пользовательского интерфейса