Bagikan melalui


Seret Pola Kontrol

Menyediakan panduan dan konvensi untuk menerapkan pola kontrol Drag dengan menggunakan IDragProvider, termasuk informasi tentang properti dan metode. Pola kontrol Seret digunakan untuk mendukung kontrol yang dapat diseret, atau kontrol dengan item yang dapat diseret.

Pedoman dan Konvensi Implementasi

Saat menerapkan pola kontrol Seret, gunakan panduan dan konvensi ini:

  • AntarmukaIDragProvidermendukung dua gaya seret yang berbeda: gaya sumber/target, dan gaya sumber saja. Anda perlu memilih gaya yang paling sesuai untuk skenario seret dan letakkan Anda:
    • Gaya sumber/target: Setiap target penurunan yang mungkin diwakili oleh elemen yang mengimplementasikan antarmukaIDropTargetProvider. Selama operasi seret, peristiwa Microsoft UI Automation berasal dari elemen yang sedang diseret, dan dari elemen drop-target.
    • Gaya sumber saja: target Drop tidak diwakili oleh elemen Automation UI. Selama operasi seret, peristiwa hanya berasal dari elemen yang sedang diseret.
  • IDragProvider adalah antarmuka baca-saja yang ditujukan untuk memantau operasi seret. Anda tidak dapat menggunakannya untuk mengontrol operasi seret. Anda dapat mengotomatiskan operasi seret dengan mengirim input mouse ke kontrol.
  • Properti IDragProvider::IsGrabbed diperlukan.
  • IDragProvider::D ropEffect dan IDragProvider::D ropEffects properti diperlukan untuk implementasi gaya sumber saja, dan dilarang untuk implementasi gaya sumber/target. Dalam implementasi gaya sumber/target, elemen drop-target dapat dikueri untuk efek penurunannya.
  • Properti IDragProvider::GrabbedItems mewakili penyeretan beberapa item. Saat pengguna memulai operasi seret, Anda perlu membuat elemen Automation UI baru untuk berfungsi sebagai elemen sumber peristiwa. Elemen baru ini mengaktifkan semua peristiwa yang akan diaktifkan elemen sumber dalam mode sumber/target atau sumber saja, sementara tidak ada elemen yang benar-benar diseret menembakkan peristiwa apa pun. Saat operasi seret selesai, hancurkan elemen sumber peristiwa.
  • Elemen harus mengaktifkan peristiwa yang diubah properti untuk properti DropEffect (UIA_DragDropEffectPropertyId) dan DropEffects (UIA_DragDropEffectsPropertyId) saat berubah. Peristiwa yang diubah properti untuk properti lain diizinkan, tetapi dapat disimpulkan dari dragStart (UIA_Drag_DragStartEventId), dragCancel (UIA_Drag_DragCancelEventId), dan peristiwa DragComplete (UIA_Drag_DragCompleteEventId).

Anggota yang Diperlukan untuk IDragProvider

Properti dan metode berikut diperlukan untuk mengimplementasikan antarmukaIDragProvider.

Anggota yang diperlukan Jenis anggota Catatan
IsGrabbed Harta benda Tidak
DropEffect Harta benda Diperlukan untuk implementasi gaya sumber saja.
DropEffects Harta benda Diperlukan jika ada lebih dari satu kemungkinan efek penurunan untuk item yang diambil.
GetGrabbedItems Metode Diperlukan untuk operasi seret beberapa item.
UIA_Drag_DragStartEventId Peristiwa Tidak
UIA_Drag_DragCancelEventId Peristiwa Tidak
UIA_Drag_DragCompleteEventId Peristiwa Tidak

 

Jenis Kontrol dan pola kontrol yang didukung

Pola Kontrol DropTarget

Gambaran Umum Pola Kontrol Automasi UI

Gambaran Umum Pohon Automasi UI

Dukungan Automasi UI untuk Seret dan Letakkan