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

Содержит рекомендации и соглашения по реализации ITextEditProvider, включая сведения о свойствах и методах. Шаблон элемента управления TextEdit используется для программного доступа к элементу управления, который изменяет текст, например элемент управления, который выполняет автоматическое исправление или включает композицию входных данных.

Примечание

Примечания о реализации в этом разделе относятся к API, которые поступают из платформы текстовых служб (TSF). Дополнительные сведения о TSF и справочнике по API см. в разделе Text Services Framework.

Обязательные элементы для ITextEditProvider

Эти свойства и методы необходимы для реализации интерфейса ITextEditProvider .

Обязательные члены Тип члена Примечания
GetActiveComposition Метод Возвращает диапазон текущего преобразования (отсутствует, если преобразования нет). Возвращает активную композицию (в TSF это диапазон, помеченный GUID_PROP_COMPOSING). Например, в редакторе метода ввода (IME) Microsoft для японского языка это будет полный подчеркнутый текст.
GetConversionTarget Метод Возвращает текущий диапазон целевых значений преобразования (нет, если преобразования нет). В TSF это диапазон символов, помеченных как TF_ATTR_TARGET_NOTCONVERTED или TF_ATTR_TARGET_CONVERTED из структуры TF_DISPLAYATTRIBUTE .

События TextEditTextChanged и ConversionTargetChanged должны вызываться элементами Microsoft модель автоматизации пользовательского интерфейса, поддерживающими шаблон TextEdit.

TextEditTextChanged

  • Используйте функцию UiaRaiseTextEditTextChangedEvent для создания события TextEditTextChanged .
  • В следующей таблице перечислены случаи, когда следует вызывать событие и используемые параметры UiaRaiseTextEditTextChangedEvent .
TextEditChangeType Полезные данные события Примечания
Автозамены Новая исправленная строка Возникает, когда элемент управления выполняет автоматическое исправление. Или всякий раз, когда замена выполняется через TSF и диапазон имеет GUID_PROP_TKB_ALTERNATES значение TKB_ALTERNATES_AUTOCORRECTION_APPLIED.
Компоновка Обновленная строка Полезные данные должны включать только измененные символы (не отправлять всю строку композиции). Возникает при каждом выполнении замены композиции. В TSF замена композиции определяется как замена с установленным флагом GUID_PROP_COMPOSING . Элементы управления редактированием, реализующие TSF, могут отслеживать эти изменения с помощью уведомления OnEndEdit .
CompositionFinalized Завершенная строка композиции (см. примечания) В TSF завершаемая строка преобразования определяется флагом GUID_PROP_COMPOSING , удаляемым из композиции. Элементы управления редактированием, реализующие TSF, должны определять завершенную строку из EndComposition и вызывать событие при вызове OnEndEdit .
Строка завершенной композиции может быть пустой, если композиция была отменена или удалена.

ConversionTargetChanged

  • ConversionTargetChanged происходит при изменении целевого объекта преобразования от одного целевого объекта к другому.
  • Используйте функцию UiaRaiseAutomationEvent для создания события ConversionTargetChanged (передайте идентификатор события UIA_TextEdit_ConversionTargetChangedEventId ).
  • ПреобразованиеTargetChanged не должно вызываться при изменении содержимого целевого объекта. Если целевое изменение происходит одновременно с изменением композиции, событие целевого изменения должно вызываться после того, как все события композиции уже были вызваны.
  • В TSF целевой объект преобразования определяется значением , TF_ATTR_TARGET_CONVERTED устанавливается из структуры TF_DISPLAYATTRIBUTE . Изменения можно отслеживать с помощью OnEndEdit.

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

Типы элементов управления и поддерживаемые ими шаблоны элементов управления

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

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