Bagikan melalui


Pola Kontrol Anotasi

Menjelaskan panduan dan konvensi untuk menerapkan IAnnotationProvider, termasuk informasi tentang properti dan metode. Pola kontrol Anotasi digunakan untuk mengekspos properti anotasi dalam dokumen.

Salah satu contohnya adalah balon komentar yang berada di margin dokumen dan tersambung ke beberapa teks dokumen atau sel lembar bentang.

Ilustrasi berikut menunjukkan contoh anotasi. Untuk contoh kontrol yang menerapkan pola kontrol ini, lihat Jenis Kontrol dan Pola Kontrol yang Didukung.

cuplikan layar memperlihatkan baloon komentar dalam dokumen

Topik ini berisi bagian berikut.

Panduan dan Konvensi Implementasi

Saat menerapkan pola kontrol Anotasi , perhatikan panduan dan konvensi berikut:

  • Ada banyak jenis anotasi yang berbeda. File header UIAutomationClient.h menentukan sekumpulan nilai konstanta bernama yang mengidentifikasi jenis anotasi yang didukung Microsoft UI Automation. Untuk informasi selengkapnya, lihat Pengidentifikasi Jenis Anotasi.
  • Jika Anda menggunakan AnnotationType_Unknown, Anda harus menerapkan properti IAnnotationProvider::AnnotationTypeName untuk memungkinkan klien menemukan nama jenis anotasi. Anda tidak perlu menerapkan AnnotationTypeName untuk jenis anotasi standar karena Automasi UI menyediakan nama default, tetapi Anda dapat menerapkannya jika Anda perlu mengganti nama default.
  • Properti IAnnotationProvider::Author bersifat opsional.
  • Properti IAnnotationProvider::D ateTime bersifat opsional.
  • Properti IAnnotationProvider::Target diperlukan karena menautkan anotasi ke elemen UI, memungkinkan klien untuk menavigasi dari anotasi kembali ke elemen UI yang dirujuk oleh anotasi.
  • Karena anotasi dapat mengambil banyak bentuk yang berbeda, antarmuka IAnnotationProvider tidak menentukan properti untuk menyimpan nilai atau teks anotasi. Anotasi sederhana harus mengekspos antarmuka IValueProvider , dan properti IValueProvider::Value harus mengembalikan nilai baca-saja yang menentukan teks anotasi. Anotasi yang lebih kaya harus mengekspos antarmuka ITextProvider untuk menyediakan teks yang lebih kaya kepada klien.
  • Menavigasi dari elemen UI ke anotasi pada elemen tergantung pada jenis elemen yang diannotasikan, sebagai berikut:
  • Beberapa jenis anotasi tidak memerlukan implementasi penuh antarmuka IAnnotationProvider . Misalnya, indikator kesalahan ejaan sederhana dapat diwakili dengan meminta antarmuka ITextRangeProvider mengembalikan atribut teks AnnotationTypesAnnotationType_SpellingError, dan nilai null untuk atribut teks AnnotationObjects .
  • Ini dapat berguna untuk mengimplementasikan antarmuka IAnnotationProvider pada elemen UI yang tidak terlihat. Misalnya, Anda dapat membuat elemen Automation UI yang tidak terlihat yang mengimplementasikan IAnnotationProvider untuk memberikan informasi yang diperluas tentang kesalahan tata bahasa.
  • Anotasi dalam kontrol berbasis teks bisa rumit jika kontrol berisi komentar yang tumpang tindih. Gunakan panduan berikut untuk menangani anotasi kompleks:

Anggota yang Diperlukan untuk IAnnotationProvider

Properti berikut diperlukan untuk mengimplementasikan antarmuka IAnnotationProvider .

Anggota yang diperlukan Jenis anggota Catatan
AnotasiTypeId Properti Tidak ada.
AnnotationTypeName Properti Tidak ada.
Penulis Properti Tidak ada.
Datetime Properti Tidak ada.
Target Properti Tidak ada.

 

Pola kontrol ini tidak memiliki peristiwa terkait.

Jenis Kontrol dan Pola Kontrol yang Didukung

Gambaran Umum Pola Kontrol UI Automation

Gambaran Umum Pohon UI Automation