Bagikan melalui


Fungsi SHDoDragDrop (shlobj_core.h)

Menjalankan operasi seret dan letakkan. Mendukung pembuatan sumber seret sesuai permintaan, serta menyeret gambar.

Sintaks

SHSTDAPI SHDoDragDrop(
  [in]  HWND        hwnd,
  [in]  IDataObject *pdata,
  [in]  IDropSource *pdsrc,
  [in]  DWORD       dwEffect,
  [out] DWORD       *pdwEffect
);

Parameter

[in] hwnd

Jenis: HWND

Handel jendela yang digunakan untuk mendapatkan gambar seret. Nilai ini bisa NULL. Lihat Keterangan untuk detail selengkapnya.

[in] pdata

Jenis: IDataObject*

Penunjuk ke antarmuka IDataObject pada objek data yang berisi data yang diseret.

[in] pdsrc

Jenis: IDropSource*

Penunjuk ke implementasi antarmuka IDropSource , yang digunakan untuk berkomunikasi dengan sumber selama operasi seret.

Pada Windows Vista, jika nilai ini ADALAH NULL, Shell membuat objek sumber drop untuk Anda.

[in] dwEffect

Jenis: DWORD

Efek yang diizinkan sumber dalam operasi seret dan letakkan. Efek yang paling signifikan adalah apakah operasi seret dan letakkan mengizinkan pemindahan. Untuk daftar nilai yang mungkin, lihat DROPEFFECT.

[out] pdwEffect

Jenis: DWORD*

Penunjuk ke nilai yang menunjukkan bagaimana operasi seret dan letakkan memengaruhi data sumber. Parameter pdwEffect diatur hanya jika operasi tidak dibatalkan. Untuk daftar nilai yang mungkin, lihat DROPEFFECT.

Mengembalikan nilai

Jenis: HRESULT

Fungsi ini mendukung nilai pengembalian standar E_OUTOFMEMORY, serta nilai berikut:

Menampilkan kode Deskripsi
DRAGDROP_S_DROP
Operasi seret dan letakkan berhasil.
DRAGDROP_S_CANCEL
Operasi seret dan letakkan dibatalkan.
E_UNSPEC
Terjadi kesalahan yang tidak terduga.

Keterangan

Pada Windows Vista, jika gambar seret belum disimpan dalam objek data pdtobj dan gambar seret tidak dapat diperoleh dari jendela yang ditentukan oleh hwnd, Shell menyediakan gambar seret generik. Gambar seret gagal diperoleh dari jendela yang ditentukan karena hwnd adalah NULL atau jendela yang ditentukan tidak mendukung pesan DI_GETDRAGIMAGE.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header shlobj_core.h (termasuk Shlobj.h)
Pustaka Shell32.lib
DLL Shell32.dll (versi 6.0 atau yang lebih baru)
Set API ext-ms-win-shell-shell32-l1-2-1 (diperkenalkan dalam Windows 10, versi 10.0.10240)