Метод ITextRangeProvider::Move (uiautomationcore.h)
Перемещает текстовый диапазон вперед или назад по указанному числу текстовых единиц.
Синтаксис
HRESULT Move(
[in] TextUnit unit,
[in] int count,
[out, retval] int *pRetVal
);
Параметры
[in] unit
Тип: TextUnit
Тип текстовых единиц, таких как символ, слово, абзац и т. д.
[in] count
Тип: int
Количество перемещаемых текстовых единиц. Положительное значение перемещает диапазон текста вперед.
Отрицательное значение перемещает диапазон текста назад. Ноль не имеет эффекта.
[out, retval] pRetVal
Тип: int*
Количество фактически перемещаемых текстовых единиц. Это может быть меньше числа, если любой из новых конечных точек диапазона текста больше или меньше конечных точек, полученных методом ITextProvider::D ocumentRange. Это значение может быть отрицательным, если навигация происходит в обратном направлении.
Возвращаемое значение
Тип: HRESULT
Если этот метод выполнен успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT.
Замечания
ITextRangeProvider::Move должен перемещать только диапазон текста, чтобы охватывать другую часть текста, он не должен изменять текст каким-либо образом.
Для ненулевого текстового диапазона ITextRangeProvider::Move должен нормализовать и переместить диапазон текста, выполнив следующие действия.
- Свернуть текстовый диапазон до дегенерированного (пустого) диапазона в начальной конечной точке.
- При необходимости переместите полученный текстовый диапазон назад в документе к началу запрошенной границы единицы.
- Переместите диапазон текста вперед или назад в документе по запрошенным числу границ текстового блока.
- Разверните диапазон текста из дегенерированного состояния, переместив конечную конечную точку вперед по одной запрошенной границе текстового блока.
Для дегенерированного текстового диапазона ITextRangeProvider::Move должен просто переместить точку вставки текста по указанному числу текстовых единиц.
При перемещении текстового диапазона поставщик должен игнорировать границы всех внедренных объектов в тексте.
ITextRangeProvider::Move должен учитывать как скрытый, так и видимый текст.
Если элемент управления на основе текста не поддерживает текстовое подразделение, указанное параметром единицы, поставщик должен заменить следующий поддерживаемый текстовый блок.
Размер текстовых единиц( от наименьшей единицы до наибольшего) выглядит следующим образом.
- Характер
- Формат
- Слово
- Линия
- Параграф
- Страница
- Документ
поведение диапазона при единицTextUnit::Format
TextUnit::Format
как единица единица позиционирует границу текстового диапазона для расширения или перемещения диапазона на основе общих текстовых атрибутов (формат) текста в диапазоне. Однако использование текстового блока форматирования не должно перемещать или развертывать текстовый диапазон по границе внедренного объекта, например изображения или гиперссылки. Дополнительные сведения см. в Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows Server 2003 [классические приложения | Приложения UWP] |
целевая платформа | Виндоус |
заголовка | uiautomationcore.h (include UIAutomation.h) |
См. также
концептуальные
Справочник
шаблонов элементов управления Text и TextRange
Обзор поставщиков автоматизации пользовательского интерфейса