Metode IDropTarget::D ragOver (oleidl.h)
Memberikan umpan balik target kepada pengguna dan mengkomunikasikan efek drop ke fungsi DoDragDrop sehingga dapat mengkomunikasikan efek dropback ke sumber.
Sintaks
HRESULT DragOver(
[in] DWORD grfKeyState,
[in] POINTL pt,
[in, out] DWORD *pdwEffect
);
Parameter
[in] grfKeyState
Status tombol pengubah papan ketik saat ini pada papan ketik. Nilai yang valid dapat berupa kombinasi dari salah satu bendera MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON, dan MK_RBUTTON.
[in] pt
Struktur POINTL yang berisi koordinat kursor saat ini dalam koordinat layar.
[in, out] pdwEffect
Pada input, arahkan ke nilai parameter pdwEffect dari fungsi DoDragDrop . Saat kembali, harus berisi salah satu bendera DROPEFFECT , yang menunjukkan hasil operasi penghilangan.
Nilai kembali
Metode ini mengembalikan S_OK pada keberhasilan. Nilai lain yang mungkin termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Terjadi kesalahan tidak terduga. |
|
Nilai pdwEffect tidak valid. |
|
Tidak tersedia cukup memori untuk operasi ini. |
Keterangan
Anda tidak memanggil DragOver secara langsung. Fungsi DoDragDrop memanggil metode ini setiap kali pengguna memindahkan mouse di seluruh jendela target tertentu. DoDragDrop keluar dari perulangan jika operasi seret dan letakkan dibatalkan, jika pengguna menyeret mouse keluar dari jendela target, atau jika penghilangan selesai.
Dalam menerapkan IDropTarget::D ragOver, Anda harus menyediakan fitur yang mirip dengan yang ada di IDropTarget::D ragEnter. Anda harus menentukan efek menghilangkan data pada target dengan memeriksa FORMATETC yang menentukan format dan media objek data, bersama dengan status kunci pengubah. Posisi mouse juga dapat berperan dalam menentukan efek penurunan. Tombol pengubah berikut memengaruhi hasil penurunan.
Kombinasi Kunci | umpan balik User-Visible | Efek Jatuhkan |
---|---|---|
CTRL + SHIFT | = | DROPEFFECT_LINK |
CTRL | + | DROPEFFECT_COPY |
Tidak ada kunci atau SHIFT | Tidak ada | DROPEFFECT_MOVE |
Anda mengomunikasikan efek dropback ke sumber melalui DoDragDrop di pdwEffect. Fungsi DoDragDrop kemudian memanggil IDropSource::GiveFeedback sehingga aplikasi sumber dapat menampilkan umpan balik visual yang sesuai kepada pengguna.
Pada entri ke IDropTarget::D ragOver, parameter pdwEffect harus diatur ke efek yang diizinkan yang diteruskan ke parameter pdwOkEffect dari fungsi DoDragDrop . Metode IDropTarget::D ragOver harus dapat memilih salah satu efek ini atau menonaktifkan penurunan.
Setelah kembali, pdwEffect diatur ke salah satu bendera DROPEFFECT. Nilai ini kemudian diteruskan ke parameter pdwEffect dari DoDragDrop. Nilai yang wajar DROPEFFECT_COPY untuk menyalin data yang diseret ke target, DROPEFFECT_LINK untuk membuat tautan ke data sumber, atau DROPEFFECT_MOVE untuk memungkinkan data yang diseret dipindahkan secara permanen dari aplikasi sumber ke target.
Anda mungkin juga ingin memberikan umpan balik visual yang sesuai di jendela target. Mungkin ada beberapa umpan balik target yang sudah ditampilkan dari panggilan sebelumnya ke IDropTarget::D ragOver atau dari IDropTarget::D ragEnter awal. Jika umpan balik ini tidak lagi sesuai, Anda harus menghapusnya.
Untuk alasan efisiensi, objek data tidak diteruskan di IDropTarget::D ragOver. Objek data yang diteruskan dalam panggilan terbaru ke IDropTarget::D ragEnter tersedia dan dapat digunakan.
Ketika IDropTarget::D ragOver telah menyelesaikan operasinya, fungsi DoDragDrop memanggil IDropSource::GiveFeedback sehingga aplikasi sumber dapat menampilkan umpan balik visual yang sesuai kepada pengguna.
Catatan untuk Pelaksana
Fungsi ini sering dipanggil selama perulangan DoDragDrop sehingga masuk akal untuk mengoptimalkan implementasi metode DragOver Anda sebanyak mungkin.Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | oleidl.h |