Bagikan melalui


Gambaran Umum Pola Kontrol Automasi UI

Pola kontrol adalah implementasi antarmuka yang mengekspos aspek tertentu dari fungsionalitas kontrol ke aplikasi klien Microsoft UI Automation. Klien menggunakan properti dan metode yang diekspos melalui pola kontrol untuk mengambil informasi tentang kemampuan kontrol tertentu, atau untuk memanipulasi aspek tertentu dari perilaku kontrol. Misalnya, kontrol yang menyajikan antarmuka tabular menggunakan pola kontrol Kisi untuk mengekspos jumlah baris dan kolom dalam tabel, dan untuk memungkinkan klien mengambil item dari tabel.

Automasi UI menggunakan pola kontrol untuk mewakili perilaku kontrol umum. Misalnya, Anda menggunakan pola kontrol Panggil untuk kontrol yang dapat dipanggil, seperti tombol, dan pola kontrol Gulir untuk kontrol yang memiliki bilah gulir, seperti kotak daftar, tampilan daftar, atau kotak kombo. Karena setiap pola kontrol mewakili fungsionalitas terpisah, pola kontrol dapat digabungkan untuk menggambarkan serangkaian fungsionalitas lengkap yang didukung oleh kontrol tertentu.

Nota

Kontrol agregat dibangun dengan kontrol turunan yang menyediakan antarmuka pengguna untuk fungsionalitas yang diekspos oleh induk, dan induk harus menerapkan semua pola kontrol yang biasanya terkait dengan kontrol turunannya. Pada gilirannya, pola kontrol yang sama tidak wajib diimplementasikan oleh kontrol anak.

 

Topik ini berisi bagian berikut:

Komponen Pola Kontrol Automasi UI

Pola kontrol mendukung metode, properti, peristiwa, dan hubungan yang diperlukan untuk menentukan fungsionalitas diskrit yang tersedia dalam kontrol.

  • Metode ini memungkinkan klien Automation UI untuk memanipulasi kontrol.
  • Properti dan peristiwa menyediakan informasi tentang fungsionalitas dan status kontrol.
  • Hubungan antara elemen Automation UI dan induk, anak, dan saudaranya menjelaskan struktur elemen di pohon Automation UI.

Pola kontrol berkaitan dengan kontrol yang mirip dengan cara antarmuka terkait dengan objek Model Objek Komponen (COM). Di COM, Anda dapat mengkueri objek untuk menanyakan antarmuka apa yang didukungnya, lalu menggunakan antarmuka tersebut untuk mengakses fungsionalitas. Dalam Automasi UI, klien dapat meminta kontrol pola kontrol mana yang didukungnya, lalu berinteraksi dengan kontrol melalui properti, metode, peristiwa, dan struktur yang diekspos oleh pola kontrol yang didukung.

Pola Kontrol di Penyedia dan Klien

Penyedia Automation UI menerapkan antarmuka pola kontrol untuk mengekspos perilaku yang sesuai untuk fungsionalitas tertentu yang didukung oleh kontrol. Antarmuka ini tidak secara langsung diekspos ke klien, tetapi digunakan oleh inti Automation UI untuk mengimplementasikan serangkaian antarmuka klien lain. Misalnya, penyedia mengekspos fungsionalitas gulir ke Automasi UI melalui IScrollProvider, dan UI Automation mengekspos fungsionalitas kepada klien melalui IUIAutomationScrollPattern.

Pola Kontrol Dinamis

Beberapa kontrol tidak selalu mendukung serangkaian pola kontrol yang sama. Misalnya, pengaturan edit multibaris memungkinkan pengguliran vertikal hanya ketika terdapat lebih banyak baris teks daripada yang dapat ditampilkan di area tampilan. Pengguliran dinonaktifkan ketika cukup teks dihapus sehingga pengguliran tidak lagi diperlukan. Untuk contoh ini, IUIAutomationScrollPattern didukung secara dinamis, tergantung pada berapa banyak teks dalam kotak edit.

Tabel berikut ini menjelaskan pola kontrol Automation UI. Tabel ini juga mencantumkan antarmuka penyedia yang digunakan untuk mengimplementasikan pola kontrol, dan antarmuka klien yang digunakan untuk mengaksesnya.

Nama Antarmuka penyedia Antarmuka klien Deskripsi
Anotasi IAnnotationProvider IUIAutomationAnnotationPattern Digunakan untuk mengekspos properti anotasi dalam dokumen, misalnya komentar di margin yang tersambung ke teks dokumen.
Dock IDockProvider IUIAutomationDockPattern Digunakan untuk kontrol yang dapat ditambatkan dalam kontainer docking, misalnya, toolbar atau palet alat.
Seret IDragProvider IUIAutomationDragPattern Digunakan untuk mendukung kontrol yang dapat diseret, atau kontrol dengan item yang dapat diseret.
TargetJatuh IDropTargetProvider IUIAutomationDropTargetPattern Digunakan untuk mendukung kontrol yang dapat menjadi target operasi seret dan letakkan.
PerluasLipat IExpandCollapseProvider IUIAutomationExpandCollapsePattern Digunakan untuk kontrol yang dapat diperluas atau diciutkan, misalnya, item menu dalam aplikasi, seperti menu File.
Kisi IGridProvider IUIAutomationGridPattern Digunakan untuk kontrol yang mendukung fungsionalitas kisi, seperti ukuran dan pemindahan ke sel tertentu, misalnya, tampilan ikon besar di Windows Explorer atau tabel sederhana di Microsoft Office Word.
GridItem IGridItemProvider IUIAutomationGridItemPattern Digunakan untuk kendali yang memiliki sel dalam kisi. Sel individual harus mendukung pola GridItem, misalnya, setiap sel dalam tampilan detail Windows Explorer.
Memanggil IInvokeProvider IUIAutomationInvokePattern Digunakan untuk kontrol yang dapat dipanggil, seperti tombol.
ItemContainer IItemContainerProvider IUIAutomationItemContainerPattern Digunakan untuk kontrol yang dapat berisi item lain.
LegacyIAccessible ILegacyIAccessibleProvider IUIAutomationLegacyIAccessiblePattern Digunakan untuk mengekspos properti dan metode Aksesibilitas Aktif Microsoft ke klien Automation UI.
TampilanGanda IMultipleViewProvider IUIAutomationMultipleViewPattern Digunakan untuk kontrol yang dapat beralih di antara beberapa representasi kumpulan informasi, data, atau turunan yang sama, misalnya, kontrol tampilan daftar di mana data tersedia dalam gambar mini, petak peta, ikon, daftar, atau tampilan detail.
ObjectModel IObjectModelProvider IUIAutomationObjectModelPattern Digunakan untuk mengekspos penunjuk ke model objek yang mendasar dari dokumen. Pola kontrol ini memungkinkan klien untuk menavigasi dari elemen Automation UI ke dalam model objek yang mendasar.
RangeValue IRangeValueProvider IUIAutomationRangeValuePattern Digunakan untuk kontrol yang memiliki rentang nilai. Misalnya, kontrol spinner yang menampilkan tahun mungkin memiliki rentang 1900—2010, sementara kontrol spinner yang menampilkan bulan akan memiliki rentang 1—12.
Gulir IScrollProvider IUIAutomationScrollPattern Digunakan untuk kontrol yang dapat menggulir ketika ada lebih banyak informasi daripada yang dapat ditampilkan di area kontrol yang dapat dilihat.
ScrollItem IScrollItemProvider IUIAutomationScrollItemPattern Digunakan pada komponen yang memiliki item individual dalam daftar yang dapat digulir, misalnya, kontrol daftar pada komponen kotak kombo.
Pilihan ISelectionProvider IUIAutomationSelectionPattern Digunakan untuk kontrol kontainer pilihan, misalnya, kotak daftar dan kotak kombo.
SelectionItem ISelectionItemProvider IUIAutomationSelectionItemPattern Digunakan untuk item individual dalam kontrol kontainer pilihan, seperti kotak daftar dan kotak kombo.
Spreadsheet ISpreadsheetProvider IUIAutomationSpreadsheetPattern Digunakan untuk mengekspos konten spreadsheet atau dokumen berbasis kisi lainnya. Kontrol yang menerapkan pola kontrol Spreadsheet juga harus menerapkan pola kontrol Grid.
SpreadsheetItem ISpreadsheetItemProvider IUIAutomationSpreadsheetItemPattern Digunakan untuk mengungkapkan properti sel dalam lembar kerja atau dokumen lain yang berbasis kisi-kisi. Kontrol yang menerapkan pola kontrol SpreadsheetItem juga harus menerapkan pola kontrol GridItem.
Gaya IStylesProvider IUIAutomationStylesPattern Digunakan untuk menjelaskan elemen UI yang memiliki gaya, warna isian, pola isian, atau bentuk tertentu.
SynchronizedInput ISynchronizedInputProvider IUIAutomationSynchronizedInputPattern Digunakan untuk kontrol yang menerima input keyboard atau mouse.
Tabel ITableProvider IUIAutomationTablePattern Digunakan untuk kontrol yang memiliki tabel dan informasi tajuk.
TableItem ITableItemProvider IUIAutomationTableItemPattern Digunakan untuk item dalam tabel.
Teks ITextProvider IUIAutomationTextPattern Digunakan untuk mengedit kontrol dan dokumen yang mengekspos informasi tekstual.
TextEdit ITextEditProvider IUIAutomationTextEditPattern Digunakan untuk kontrol edit yang memodifikasi teks secara terprogram, misalnya kontrol yang melakukan koreksi otomatis atau mengaktifkan komposisi input.
TextChild ITextChildProvider IUIAutomationTextChildPattern Digunakan untuk mengakses leluhur terdekat dari elemen yang mendukung pola kontrol teks.
TextRange ITextRangeProvider IUIAutomationTextRange Digunakan untuk mengambil konten tekstual, atribut teks, dan objek yang disematkan dari kontrol berbasis teks seperti kontrol edit dan dokumen.
Alihkan IToggleProvider IUIAutomationTogglePattern Digunakan untuk kontrol di mana status dapat diubah, misalnya, kotak centang dan item menu yang dapat dicentang.
Transformasi ITransformProvider IUIAutomationTransformPattern Digunakan untuk kontrol yang dapat diubah ukurannya, dipindahkan, dan diputar. Penggunaan umum untuk pola kontrol Transformasi ada di perancang, formulir, editor grafis, dan aplikasi gambar.
Nilai IValueProvider IUIAutomationValuePattern Digunakan untuk kontrol yang memiliki nilai yang tidak terletak dalam rentang tertentu, misalnya, pemilih tanggal-waktu.
Item Tervirtualisasi IVirtualizedItemProvider IUIAutomationVirtualizedItemPattern Digunakan untuk kontrol yang berfungsi dengan item-item dalam daftar virtual.
Jendela IWindowProvider IUIAutomationWindowPattern Digunakan untuk jendela. Contohnya adalah jendela aplikasi tingkat atas, jendela anak antarmuka beberapa dokumen (MDI), dan kotak dialog.

 

Konseptual

Menerapkan Pola Kontrol Otomatisasi UI

Pemetaan Pola Kontrol untuk Klien Automasi UI