Kelas COleDropTarget
Menyediakan mekanisme komunikasi antara jendela dan pustaka OLE.
Sintaks
class COleDropTarget : public CCmdTarget
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
COleDropTarget::COleDropTarget | Membuat COleDropTarget objek. |
Metode Publik
Nama | Deskripsi |
---|---|
COleDropTarget::OnDragEnter | Dipanggil saat kursor pertama kali memasuki jendela. |
COleDropTarget::OnDragLeave | Dipanggil saat kursor diseret keluar dari jendela. |
COleDropTarget::OnDragOver | Dipanggil berulang kali ketika kursor diseret ke atas jendela. |
COleDropTarget::OnDragScroll | Dipanggil untuk menentukan apakah kursor diseret ke wilayah gulir jendela. |
COleDropTarget::OnDrop | Dipanggil saat data dihilangkan ke jendela, handler default. |
COleDropTarget::OnDropEx | Dipanggil saat data dihilangkan ke jendela, handler awal. |
COleDropTarget::Register | Mendaftarkan jendela sebagai target penurunan yang valid. |
COleDropTarget::Revoke | Menyebabkan jendela berhenti menjadi target penurunan yang valid. |
Keterangan
Membuat objek kelas ini memungkinkan jendela untuk menerima data melalui mekanisme seret dan letakkan OLE.
Untuk mendapatkan jendela untuk menerima perintah drop, Anda harus terlebih dahulu membuat objek COleDropTarget
kelas, lalu memanggil fungsi Register dengan pointer ke objek yang diinginkan CWnd
sebagai satu-satunya parameter.
Untuk informasi selengkapnya tentang operasi seret dan letakkan menggunakan OLE, lihat artikel OLE seret dan letakkan.
Hierarki Warisan
COleDropTarget
Persyaratan
Header: afxole.h
COleDropTarget::COleDropTarget
Membangun objek kelas COleDropTarget
.
COleDropTarget();
Keterangan
Panggil Daftar untuk mengaitkan objek ini dengan jendela.
COleDropTarget::OnDragEnter
Dipanggil oleh kerangka kerja ketika kursor pertama kali diseret ke jendela.
virtual DROPEFFECT OnDragEnter(
CWnd* pWnd,
COleDataObject* pDataObject,
DWORD dwKeyState,
CPoint point);
Parameter
pWnd
Arahkan ke jendela yang dimasukkan kursor.
pDataObject
Menunjuk ke objek data yang berisi data yang dapat dihilangkan.
dwKeyState
Berisi status kunci pengubah. Ini adalah kombinasi dari sejumlah hal berikut: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON, dan MK_RBUTTON.
ujung
Berisi lokasi kursor saat ini dalam koordinat klien.
Tampilkan Nilai
Efek yang akan menghasilkan jika penurunan dicoba di lokasi yang ditentukan oleh titik. Ini bisa berupa satu atau beberapa hal berikut:
DROPEFFECT_NONE A drop tidak akan diizinkan.
DROPEFFECT_COPY Operasi penyalinan akan dilakukan.
DROPEFFECT_MOVE Operasi pemindahan akan dilakukan.
DROPEFFECT_LINK Tautan dari data yang dihilangkan ke data asli akan dibuat.
DROPEFFECT_SCROLL Operasi gulir seret akan terjadi atau terjadi di target.
Keterangan
Ambil alih fungsi ini untuk memungkinkan operasi penghilangan terjadi di jendela. Implementasi default memanggil CView::OnDragEnter, yang hanya mengembalikan DROPEFFECT_NONE secara default.
Untuk informasi selengkapnya, lihat IDropTarget::D ragEnter di Windows SDK.
COleDropTarget::OnDragLeave
Dipanggil oleh kerangka kerja ketika kursor meninggalkan jendela saat operasi penyeretan berlaku.
virtual void OnDragLeave(CWnd* pWnd);
Parameter
pWnd
Menunjuk ke jendela yang kursor tinggalkan.
Keterangan
Ambil alih fungsi ini jika Anda menginginkan perilaku khusus saat operasi seret meninggalkan jendela yang ditentukan. Implementasi default fungsi ini memanggil CView::OnDragLeave.
Untuk informasi selengkapnya, lihat IDropTarget::D ragLeave di Windows SDK.
COleDropTarget::OnDragOver
Dipanggil oleh kerangka kerja saat kursor diseret ke atas jendela.
virtual DROPEFFECT OnDragOver(
CWnd* pWnd,
COleDataObject* pDataObject,
DWORD dwKeyState,
CPoint point);
Parameter
pWnd
Menunjuk ke jendela tempat kursor berakhir.
pDataObject
Arahkan ke objek data yang berisi data yang akan dihilangkan.
dwKeyState
Berisi status kunci pengubah. Ini adalah kombinasi dari sejumlah hal berikut: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON, dan MK_RBUTTON.
ujung
Berisi lokasi kursor saat ini dalam koordinat klien.
Tampilkan Nilai
Efek yang akan menghasilkan jika penurunan dicoba di lokasi yang ditentukan oleh titik. Ini bisa berupa satu atau beberapa hal berikut:
DROPEFFECT_NONE A drop tidak akan diizinkan.
DROPEFFECT_COPY Operasi penyalinan akan dilakukan.
DROPEFFECT_MOVE Operasi pemindahan akan dilakukan.
DROPEFFECT_LINK Tautan dari data yang dihilangkan ke data asli akan dibuat.
DROPEFFECT_SCROLL Menunjukkan bahwa operasi gulir seret akan terjadi atau terjadi di target.
Keterangan
Fungsi ini harus ditimpa untuk memungkinkan operasi penghilangan terjadi di jendela. Implementasi default fungsi ini memanggil CView::OnDragOver, yang mengembalikan DROPEFFECT_NONE secara default. Karena fungsi ini sering dipanggil selama operasi seret dan letakkan, fungsi ini harus dioptimalkan sebanyak mungkin.
Untuk informasi selengkapnya, lihat IDropTarget::D ragOver di Windows SDK.
Contoh
DROPEFFECT COleContainerView::OnDragOver(COleDataObject* pDataObject,
DWORD dwKeyState, CPoint point)
{
UNREFERENCED_PARAMETER(pDataObject);
UNREFERENCED_PARAMETER(point);
DROPEFFECT de = DROPEFFECT_NONE;
//Determine the type of operation
if ((dwKeyState & MK_SHIFT) && (dwKeyState & MK_CONTROL))
de = DROPEFFECT_LINK;
else if (dwKeyState & MK_CONTROL)
de = DROPEFFECT_COPY;
else if (dwKeyState & MK_SHIFT)
de = DROPEFFECT_MOVE;
return de;
}
COleDropTarget::OnDragScroll
Dipanggil oleh kerangka kerja sebelum memanggil OnDragEnter atau OnDragOver untuk menentukan apakah titik berada di wilayah pengguliran.
virtual DROPEFFECT OnDragScroll(
CWnd* pWnd,
DWORD dwKeyState,
CPoint point);
Parameter
pWnd
Menunjuk ke jendela kursor saat ini berakhir.
dwKeyState
Berisi status kunci pengubah. Ini adalah kombinasi dari sejumlah hal berikut: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON, dan MK_RBUTTON.
ujung
Berisi lokasi kursor, dalam piksel, relatif terhadap layar.
Tampilkan Nilai
Efek yang akan menghasilkan jika penurunan dicoba di lokasi yang ditentukan oleh titik. Ini bisa berupa satu atau beberapa hal berikut:
DROPEFFECT_NONE A drop tidak akan diizinkan.
DROPEFFECT_COPY Operasi penyalinan akan dilakukan.
DROPEFFECT_MOVE Operasi pemindahan akan dilakukan.
DROPEFFECT_LINK Tautan dari data yang dihilangkan ke data asli akan dibuat.
DROPEFFECT_SCROLL Menunjukkan bahwa operasi gulir seret akan terjadi atau terjadi di target.
Keterangan
Ambil alih fungsi ini saat Anda ingin memberikan perilaku khusus untuk peristiwa ini. Implementasi default fungsi ini memanggil CView::OnDragScroll, yang mengembalikan DROPEFFECT_NONE dan menggulir jendela saat kursor diseret ke wilayah gulir default di dalam batas jendela.
COleDropTarget::OnDrop
Dipanggil oleh kerangka kerja ketika operasi penghilangan akan terjadi.
virtual BOOL OnDrop(
CWnd* pWnd,
COleDataObject* pDataObject,
DROPEFFECT dropEffect,
CPoint point);
Parameter
pWnd
Menunjuk ke jendela kursor saat ini berakhir.
pDataObject
Arahkan ke objek data yang berisi data yang akan dihilangkan.
dropEffect
Efek yang dipilih pengguna untuk operasi penghilangan. Ini bisa berupa satu atau beberapa hal berikut:
DROPEFFECT_COPY Operasi penyalinan akan dilakukan.
DROPEFFECT_MOVE Operasi pemindahan akan dilakukan.
DROPEFFECT_LINK Tautan dari data yang dihilangkan ke data asli akan dibuat.
ujung
Berisi lokasi kursor, dalam piksel, relatif terhadap layar.
Tampilkan Nilai
Bukan nol jika penurunan berhasil; jika tidak, 0.
Keterangan
Kerangka kerja pertama kali memanggil OnDropEx. OnDropEx
Jika fungsi tidak menangani penurunan, kerangka kerja kemudian memanggil fungsi anggota ini, OnDrop
. Biasanya, aplikasi mengambil alih OnDropEx di kelas tampilan untuk menangani seret dan letakkan tombol mouse kanan. Biasanya, kelas tampilan OnDrop digunakan untuk menangani seret dan letakkan sederhana.
Implementasi COleDropTarget::OnDrop
default panggilan CView::OnDrop, yang hanya mengembalikan FALSE secara default.
Untuk informasi selengkapnya, lihat IDropTarget::D rop di Windows SDK.
COleDropTarget::OnDropEx
Dipanggil oleh kerangka kerja ketika operasi penghilangan akan terjadi.
virtual DROPEFFECT OnDropEx(
CWnd* pWnd,
COleDataObject* pDataObject,
DROPEFFECT dropDefault,
DROPEFFECT dropList,
CPoint point);
Parameter
pWnd
Menunjuk ke jendela kursor saat ini berakhir.
pDataObject
Arahkan ke objek data yang berisi data yang akan dihilangkan.
dropDefault
Efek yang dipilih pengguna untuk operasi penurunan default berdasarkan status kunci saat ini. Ini bisa DROPEFFECT_NONE. Efek jatuh dibahas di bagian Keterangan.
dropList
Daftar efek penurunan yang didukung sumber penghilangan. Nilai efek jatuh dapat digabungkan menggunakan operasi bitwise OR (|
). Efek jatuh dibahas di bagian Keterangan.
ujung
Berisi lokasi kursor, dalam piksel, relatif terhadap layar.
Tampilkan Nilai
Efek penurunan yang dihasilkan dari upaya penurunan di lokasi yang ditentukan oleh titik. Efek jatuh dibahas di bagian Keterangan.
Keterangan
Kerangka kerja pertama kali memanggil fungsi ini. Jika tidak menangani penurunan, kerangka kerja kemudian memanggil OnDrop. Biasanya, Anda akan mengambil alih OnDropEx di kelas tampilan untuk mendukung seret dan letakkan tombol mouse kanan. Biasanya, kelas tampilan OnDrop digunakan untuk menangani kasus dukungan untuk seret dan letakkan sederhana.
Implementasi COleDropTarget::OnDropEx
default panggilan CView::OnDropEx. Secara default, CView::OnDropEx hanya mengembalikan nilai dummy untuk menunjukkan fungsi anggota OnDrop harus dipanggil.
Jatuhkan efek menjelaskan tindakan yang terkait dengan operasi penghilangan. Lihat daftar efek penurunan berikut:
DROPEFFECT_NONE A drop tidak akan diizinkan.
DROPEFFECT_COPY Operasi penyalinan akan dilakukan.
DROPEFFECT_MOVE Operasi pemindahan akan dilakukan.
DROPEFFECT_LINK Tautan dari data yang dihilangkan ke data asli akan dibuat.
DROPEFFECT_SCROLL Menunjukkan bahwa operasi gulir seret akan terjadi atau terjadi di target.
Untuk informasi selengkapnya, lihat IDropTarget::D rop di Windows SDK.
COleDropTarget::Register
Panggil fungsi ini untuk mendaftarkan jendela Anda dengan DLL OLE sebagai target drop yang valid.
BOOL Register(CWnd* pWnd);
Parameter
pWnd
Menunjuk ke jendela yang akan didaftarkan sebagai target penurunan.
Tampilkan Nilai
Nonzero jika pendaftaran berhasil; jika tidak, 0.
Keterangan
Fungsi ini harus dipanggil agar operasi penghilangan diterima.
Untuk informasi selengkapnya, lihat RegisterDragDrop di Windows SDK.
COleDropTarget::Revoke
Panggil fungsi ini sebelum menghancurkan jendela apa pun yang telah didaftarkan sebagai target penurunan melalui panggilan ke Daftar untuk menghapusnya dari daftar target penurunan.
virtual void Revoke();
Keterangan
Fungsi ini dipanggil secara otomatis dari handler OnDestroy untuk jendela yang terdaftar, sehingga biasanya tidak perlu memanggil fungsi ini secara eksplisit.
Untuk informasi selengkapnya, lihat MencabutDragDrop di Windows SDK.
Lihat juga
Sampel MFC HIERSVR
Sampel MFC OCLIENT
Kelas CCmdTarget
Bagan Hierarki
Kelas COleDropSource