Bagikan melalui


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

CObject

CCmdTarget

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