Bagikan melalui


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

CObject

CCmdTarget

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