Шаблон элемента управления 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.