Bagikan melalui


Seret Pola Kontrol

Menyediakan panduan dan konvensi untuk menerapkan pola kontrol Seret 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.

Panduan dan Konvensi Implementasi

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

  • Antarmuka IDragProvider mendukung 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 antarmuka IDropTargetProvider . Selama operasi seret, peristiwa Otomatisasi UI Microsoft berasal dari elemen yang sedang diseret, dan dari elemen drop-target.
    • Gaya sumber-saja: Target penurunan 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.
  • Properti IDragProvider::D ropEffect dan IDragProvider::D ropEffects 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 peristiwa DragStart (UIA_Drag_DragStartEventId) yang diperlukan, DragCancel (UIA_Drag_DragCancelEventId), dan DragComplete (UIA_Drag_DragCompleteEventId).

Anggota yang Diperlukan untuk IDragProvider

Properti dan metode berikut diperlukan untuk mengimplementasikan antarmuka IDragProvider .

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

 

Jenis Kontrol dan Pola Kontrol yang Didukung

Pola Kontrol DropTarget

Gambaran Umum Pola Kontrol UI Automation

Gambaran Umum Pohon UI Automation

Dukungan Automasi UI untuk Drag-and-Drop