Pola Kontrol TextEdit

Memperkenalkan panduan dan konvensi untuk menerapkanITextEditProvider, termasuk informasi tentang properti dan metode. Pola kontrol TextEdit digunakan untuk akses terprogram ke kontrol yang memodifikasi teks, misalnya kontrol yang melakukan koreksi otomatis atau mengaktifkan komposisi input.

Nota

Catatan implementasi dalam topik ini mengacu pada API yang berasal dari Text Services Framework (TSF). Untuk informasi selengkapnya tentang TSF dan referensi API, lihat Text Services Framework.

Anggota yang Diperlukan untuk ITextEditProvider

Properti dan metode ini diperlukan untuk menerapkan antarmuka ITextEditProvider.

Anggota yang diperlukan Jenis anggota Catatan
GetActiveComposition Metode Mengembalikan rentang konversi saat ini (tidak ada jika tidak ada konversi). Mengembalikan komposisi aktif (dalam TSF, ini adalah rentang yang ditandai dengan GUID_PROP_COMPOSING). Misalnya dengan Microsoft Japanese Input Method Editor (IME), ini akan menjadi teks bergaris bawah lengkap.
GetConversionTarget Metode Mengembalikan rentang target konversi saat ini (tidak ada jika tidak ada konversi). Di TSF, ini adalah rentang karakter yang ditandai sebagai TF_ATTR_TARGET_NOTCONVERTED atau TF_ATTR_TARGET_CONVERTED dari struktur TF_DISPLAYATTRIBUTE.

Peristiwa TextEditTextChanged dan ConversionTargetChanged harus dinaikkan oleh elemen Otomatisasi UI Microsoft yang mendukung pola TextEdit.

TextEditTextChanged

  • Gunakan fungsiUiaRaiseTextEditTextChangedEvent untuk menaikkan peristiwa TextEditTextChanged.
  • Tabel berikut mencantumkan kasus kapan Anda harus menaikkan peristiwa dan parameterUiaRaiseTextEditTextChangedEvent untuk digunakan.
TextEditChangeType Payload Peristiwa Catatan
Koreksi Otomatis String baru yang dikoreksi Dimunculkan ketika koreksi otomatis dibuat oleh kontrol. Atau setiap kali penggantian dilakukan melalui TSF dan rentang memiliki nilai GUID_PROP_TKB_ALTERNATESTKB_ALTERNATES_AUTOCORRECTION_APPLIED.
Komposisi String yang diperbarui Payload hanya boleh menyertakan karakter yang berubah (jangan mengirim seluruh string komposisi). Dinaikkan setiap kali penggantian komposisi dibuat. Di TSF, penggantian komposisi didefinisikan sebagai pengganti yang memiliki set bendera GUID_PROP_COMPOSING. Kontrol pengeditan yang menerapkan TSF dapat memantau perubahan ini melalui pemberitahuan OnEndEdit.
Komposisi Terfinalisasi String komposisi yang difinalisasi (lihat Catatan) Di TSF, string konversi yang sedang diselesaikan ditentukan oleh bendera GUID_PROP_COMPOSING dihapus dari komposisi. Kontrol pengeditan yang menerapkan TSF harus menentukan string yang diselesaikan dari EndComposition dan menaikkan peristiwa saat OnEndEdit dipanggil.
String komposisi yang diselesaikan mungkin kosong jika komposisi dibatalkan atau dihapus.

ConversionTargetChanged

  • ConversionTargetChanged terjadi saat target konversi berubah dari satu target ke target lainnya.
  • Gunakan fungsiUiaRaiseAutomationEvent untuk menaikkan peristiwa ConversionTargetChanged (berikan pengidentifikasi peristiwa UIA_TextEdit_ConversionTargetChangedEventId).
  • ConversionTargetChanged tidak boleh dinaikkan saat konten target berubah. Jika perubahan target terjadi bersamaan dengan perubahan komposisi, peristiwa perubahan target harus dinaikkan setelah peristiwa komposisi apa pun telah dimunculkan.
  • Di TSF, target konversi ditentukan oleh nilai TF_ATTR_TARGET_CONVERTED ditetapkan dari struktur TF_DISPLAYATTRIBUTE. Perubahan dapat dipantau menggunakan OnEndEdit.

Konseptual

Jenis Kontrol dan Pola Kontrol yang Didukung

Gambaran Umum Pola Kontrol Automasi UI

Gambaran Umum Pohon Automasi UI