Kelas COleDropSource
Memungkinkan data diseret ke target penghilangan.
Sintaks
class COleDropSource : public CCmdTarget
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
COleDropSource::COleDropSource | Membuat COleDropSource objek. |
Metode Publik
Nama | Deskripsi |
---|---|
COleDropSource::GiveFeedback | Mengubah kursor selama operasi seret dan letakkan. |
COleDropSource::OnBeginDrag | Menangani tangkapan mouse selama operasi seret dan letakkan. |
COleDropSource::QueryContinueDrag | Memeriksa untuk melihat apakah penyeretan harus dilanjutkan. |
Keterangan
Kelas COleDropTarget menangani bagian penerimaan dari operasi seret dan letakkan. Objek COleDropSource
bertanggung jawab untuk menentukan kapan operasi seret dimulai, memberikan umpan balik selama operasi seret, dan menentukan kapan operasi seret berakhir.
Untuk menggunakan COleDropSource
objek, cukup panggil konstruktor. Ini menyederhanakan proses penentuan peristiwa apa, seperti klik mouse, memulai operasi seret menggunakan fungsi COleDataSource::D oDragDrop, COleClientItem::D oDragDrop, atau COleServerItem::D oDragDrop . Fungsi-fungsi ini akan membuat COleDropSource
objek untuk Anda. Anda mungkin ingin mengubah perilaku default fungsi yang COleDropSource
dapat diganti. Fungsi anggota ini akan dipanggil pada waktu yang sesuai oleh kerangka kerja.
Untuk informasi selengkapnya tentang operasi seret dan letakkan menggunakan OLE, lihat artikel OLE seret dan letakkan.
Untuk informasi selengkapnya, lihat IDropSource di Windows SDK.
Hierarki Warisan
COleDropSource
Persyaratan
Header: afxole.h
COleDropSource::COleDropSource
Membuat COleDropSource
objek.
COleDropSource();
COleDropSource::GiveFeedback
Dipanggil oleh kerangka kerja setelah memanggil COleDropTarget::OnDragOver atau COleDropTarget::D ragEnter.
virtual SCODE GiveFeedback(DROPEFFECT dropEffect);
Parameter
dropEffect
Efek yang ingin Anda tampilkan kepada pengguna, biasanya menunjukkan apa yang akan terjadi jika penurunan terjadi pada saat ini dengan data yang dipilih. Biasanya, ini adalah nilai yang dikembalikan oleh panggilan terbaru ke CView::OnDragEnter atau CView::OnDragOver. 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.
Tampilkan Nilai
Mengembalikan DRAGDROP_S_USEDEFAULTCURSORS jika penyeretan sedang berlangsung, NOERROR jika tidak.
Keterangan
Ambil alih fungsi ini untuk memberikan umpan balik kepada pengguna tentang apa yang akan terjadi jika penurunan terjadi pada saat ini. Implementasi default menggunakan kursor default OLE. Untuk informasi selengkapnya tentang operasi seret dan letakkan menggunakan OLE, lihat artikel OLE seret dan letakkan.
Untuk informasi selengkapnya, lihat IDropSource::GiveFeedback, IDropTarget::D ragOver, dan IDropTarget::D ragEnter di Windows SDK.
COleDropSource::OnBeginDrag
Dipanggil oleh kerangka kerja ketika peristiwa terjadi yang dapat memulai operasi seret, seperti menekan tombol mouse kiri.
virtual BOOL OnBeginDrag(CWnd* pWnd);
Parameter
pWnd
Arahkan ke jendela yang berisi data yang dipilih.
Tampilkan Nilai
Bukan nol jika menyeret diizinkan, jika tidak, 0.
Keterangan
Ambil alih fungsi ini jika Anda ingin mengubah cara proses penyeretan dimulai. Implementasi default menangkap mouse dan tetap dalam mode seret hingga pengguna mengklik tombol mouse kiri atau kanan atau menekan ESC, pada saat itu ia melepaskan mouse.
COleDropSource::QueryContinueDrag
Setelah penyeretan dimulai, fungsi ini dipanggil berulang kali oleh kerangka kerja hingga operasi seret dibatalkan atau selesai.
virtual SCODE QueryContinueDrag(
BOOL bEscapePressed,
DWORD dwKeyState);
Parameter
bEscapePressed
Menyatakan apakah tombol ESC telah ditekan sejak panggilan terakhir ke COleDropSource::QueryContinueDrag
.
dwKeyState
Berisi status tombol pengubah pada keyboard. Ini adalah kombinasi dari sejumlah hal berikut: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON, dan MK_RBUTTON.
Tampilkan Nilai
DRAGDROP_S_CANCEL jika tombol ESC atau tombol kanan ditekan, atau tombol kiri dinaikkan sebelum menyeret dimulai. DRAGDROP_S_DROP jika operasi penghilangan harus terjadi. Jika tidak, S_OK.
Keterangan
Ambil alih fungsi ini jika Anda ingin mengubah titik di mana penyeretan dibatalkan atau terjadi penurunan.
Implementasi default memulai penghilangan atau membatalkan seret sebagai berikut. Ini membatalkan operasi seret ketika tombol ESC atau tombol mouse kanan ditekan. Ini memulai operasi penurunan ketika tombol mouse kiri dinaikkan setelah penyeretan dimulai. Jika tidak, ia mengembalikan S_OK dan tidak melakukan operasi lebih lanjut.
Karena fungsi ini sering dipanggil, fungsi ini harus dioptimalkan sebanyak mungkin.
Lihat juga
Sampel MFC HIERSVR
Sampel MFC OCLIENT
Kelas CCmdTarget
Bagan Hierarki