Bagikan melalui


Kelas COleDataObject

Digunakan dalam transfer data untuk mengambil data dalam berbagai format dari Clipboard, melalui seret dan letakkan, atau dari item OLE yang disematkan.

Sintaks

class COleDataObject

Anggota

Konstruktor Publik

Nama Deskripsi
COleDataObject::COleDataObject Membuat COleDataObject objek.

Metode Publik

Nama Deskripsi
COleDataObject::Attach Melampirkan objek data OLE yang ditentukan ke COleDataObject.
COleDataObject::AttachClipboard Melampirkan objek data yang ada di Clipboard.
COleDataObject::BeginEnumFormats Bersiap untuk satu atau beberapa panggilan berikutnya GetNextFormat .
COleDataObject::D etach Mencopot objek terkait IDataObject .
COleDataObject::GetData Menyalin data dari objek data OLE terlampir dalam format tertentu.
COleDataObject::GetFileData Menyalin data dari objek data OLE yang dilampirkan ke dalam CFile penunjuk dalam format yang ditentukan.
COleDataObject::GetglobalData Menyalin data dari objek data OLE yang dilampirkan ke dalam HGLOBAL format yang ditentukan.
COleDataObject::GetNextFormat Mengembalikan format data berikutnya yang tersedia.
COleDataObject::IsDataAvailable Memeriksa apakah data tersedia dalam format tertentu.
COleDataObject::Release Mencopot dan merilis objek terkait IDataObject .

Keterangan

COleDataObject tidak memiliki kelas dasar.

Transfer data semacam ini mencakup sumber dan tujuan. Sumber data diimplementasikan sebagai objek kelas COleDataSource . Setiap kali aplikasi tujuan memiliki data yang dihilangkan di dalamnya atau diminta untuk melakukan operasi tempel dari Clipboard, objek COleDataObject kelas harus dibuat.

Kelas ini memungkinkan Anda menentukan apakah data ada dalam format tertentu. Anda juga dapat menghitung format data yang tersedia atau memeriksa apakah format tertentu tersedia lalu mengambil data dalam format pilihan. Pengambilan objek dapat dilakukan dengan beberapa cara berbeda, termasuk penggunaan CFile, HGLOBAL, atau STGMEDIUM struktur.

Untuk informasi selengkapnya, lihat struktur STGMEDIUM di Windows SDK.

Untuk informasi selengkapnya tentang menggunakan objek data di aplikasi Anda, lihat artikel Objek Data dan Sumber Data (OLE).

Hierarki Warisan

COleDataObject

Persyaratan

Header: afxole.h

COleDataObject::Attach

Panggil fungsi ini untuk mengaitkan COleDataObject objek dengan objek data OLE.

void Attach(
    LPDATAOBJECT lpDataObject,
    BOOL bAutoRelease = TRUE);

Parameter

lpDataObject
Menunjuk ke objek data OLE.

bAutoRelease
TRUE jika objek data OLE harus dirilis saat COleDataObject objek dihancurkan; jika tidak FALSE.

Keterangan

Untuk informasi selengkapnya, lihat IDataObject di Windows SDK.

COleDataObject::AttachClipboard

Panggil fungsi ini untuk melampirkan objek data yang saat ini ada di Clipboard ke COleDataObject objek.

BOOL AttachClipboard();

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Catatan

Memanggil fungsi ini mengunci Papan Klip hingga objek data ini dirilis. Objek data dirilis di destruktor untuk COleDataObject. Untuk informasi selengkapnya, lihat OpenClipboard dan CloseClipboard dalam dokumentasi Win32.

COleDataObject::BeginEnumFormats

Panggil fungsi ini untuk mempersiapkan panggilan GetNextFormat berikutnya untuk mengambil daftar format data dari item.

void BeginEnumFormats();

Keterangan

Setelah panggilan ke BeginEnumFormats, posisi format pertama yang didukung oleh objek data ini disimpan. Panggilan berturut-turut akan GetNextFormat menghitung daftar format yang tersedia dalam objek data.

Untuk memeriksa ketersediaan data dalam format tertentu, gunakan COleDataObject::IsDataAvailable.

Untuk informasi selengkapnya, lihat IDataObject::EnumFormatEtc di Windows SDK.

COleDataObject::COleDataObject

Membuat COleDataObject objek.

COleDataObject();

Keterangan

Panggilan ke COleDataObject::Attach atau COleDataObject::AttachClipboard harus dilakukan sebelum memanggil fungsi lain COleDataObject .

Catatan

Karena salah satu parameter ke handler seret dan letakkan adalah penunjuk ke COleDataObject, tidak perlu memanggil konstruktor ini untuk mendukung seret dan letakkan.

COleDataObject::D etach

Panggil fungsi ini untuk melepaskan COleDataObject objek dari objek data OLE terkait tanpa merilis objek data.

LPDATAOBJECT Detach();

Tampilkan Nilai

Penunjuk ke objek data OLE yang dilepaskan.

Keterangan

COleDataObject::GetData

Panggil fungsi ini untuk mengambil data dari item dalam format yang ditentukan.

BOOL GetData(
    CLIPFORMAT cfFormat,
    LPSTGMEDIUM lpStgMedium,
    LPFORMATETC lpFormatEtc = NULL);

Parameter

cfFormat
Format di mana data akan dikembalikan. Parameter ini dapat menjadi salah satu format Clipboard yang telah ditentukan sebelumnya atau nilai yang dikembalikan oleh fungsi Windows RegisterClipboardFormat asli.

lpStgMedium
Menunjuk ke struktur STGMEDIUM yang akan menerima data.

lpFormatEtc
Menunjuk ke struktur FORMATETC yang menjelaskan format di mana data akan dikembalikan. Berikan nilai untuk parameter ini jika Anda ingin menentukan informasi format tambahan di luar format Clipboard yang ditentukan oleh cfFormat. Jika NULL, nilai default digunakan untuk bidang lain dalam FORMATETC struktur.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Untuk informasi selengkapnya, lihat IDataObject::GetData, STGMEDIUM, dan FORMATETC di Windows SDK.

Untuk informasi selengkapnya, lihat RegisterClipboardFormat di Windows SDK.

COleDataObject::GetFileData

Panggil fungsi ini untuk membuat CFile objek atau CFile-turunan dan untuk mengambil data dalam format yang ditentukan ke dalam CFile penunjuk.

CFile* GetFileData(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

Parameter

cfFormat
Format di mana data akan dikembalikan. Parameter ini dapat menjadi salah satu format Clipboard yang telah ditentukan sebelumnya atau nilai yang dikembalikan oleh fungsi Windows RegisterClipboardFormat asli.

lpFormatEtc
Menunjuk ke struktur FORMATETC yang menjelaskan format di mana data akan dikembalikan. Berikan nilai untuk parameter ini jika Anda ingin menentukan informasi format tambahan di luar format Clipboard yang ditentukan oleh cfFormat. Jika NULL, nilai default digunakan untuk bidang lain dalam FORMATETC struktur.

Tampilkan Nilai

Arahkan ke objek baru CFile atau CFileturunan yang berisi data jika berhasil; jika tidak, NULL.

Keterangan

Bergantung pada media tempat data disimpan, jenis aktual yang ditujukkan oleh nilai pengembalian mungkin CFile, , CSharedFileatau COleStreamFile.

Catatan

Objek CFile yang diakses oleh nilai pengembalian fungsi ini dimiliki oleh pemanggil. Ini adalah tanggung jawab pemanggil ke delete CFile objek, sehingga menutup file.

Untuk informasi selengkapnya, lihat FORMATETC di Windows SDK.

Untuk informasi selengkapnya, lihat RegisterClipboardFormat di Windows SDK.

COleDataObject::GetglobalData

Panggil fungsi ini untuk mengalokasikan blok memori global dan untuk mengambil data dalam format yang ditentukan ke dalam HGLOBAL.

HGLOBAL GetGlobalData(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

Parameter

cfFormat
Format di mana data akan dikembalikan. Parameter ini dapat menjadi salah satu format Clipboard yang telah ditentukan sebelumnya atau nilai yang dikembalikan oleh fungsi Windows RegisterClipboardFormat asli.

lpFormatEtc
Menunjuk ke struktur FORMATETC yang menjelaskan format di mana data akan dikembalikan. Berikan nilai untuk parameter ini jika Anda ingin menentukan informasi format tambahan di luar format Clipboard yang ditentukan oleh cfFormat. Jika NULL, nilai default digunakan untuk bidang lain dalam FORMATETC struktur.

Tampilkan Nilai

Handel blok memori global yang berisi data jika berhasil; jika tidak, NULL.

Keterangan

Untuk informasi selengkapnya, lihat FORMATETC di Windows SDK.

Untuk informasi selengkapnya, lihat RegisterClipboardFormat di Windows SDK.

COleDataObject::GetNextFormat

Panggil fungsi ini berulang kali untuk mendapatkan semua format yang tersedia untuk mengambil data dari item.

BOOL GetNextFormat(LPFORMATETC lpFormatEtc);

Parameter

lpFormatEtc
Menunjuk ke struktur FORMATETC yang menerima informasi format saat panggilan fungsi kembali.

Tampilkan Nilai

Bukan nol jika format lain tersedia; jika tidak, 0.

Keterangan

Setelah panggilan ke COleDataObject::BeginEnumFormats, posisi format pertama yang didukung oleh objek data ini disimpan. Panggilan berturut-turut akan GetNextFormat menghitung daftar format yang tersedia dalam objek data. Gunakan fungsi-fungsi ini untuk mencantumkan format yang tersedia.

Untuk memeriksa ketersediaan format tertentu, panggil COleDataObject::IsDataAvailable.

Untuk informasi selengkapnya, lihat IEnumXXXX::Berikutnya di Windows SDK.

COleDataObject::IsDataAvailable

Panggil fungsi ini untuk menentukan apakah format tertentu tersedia untuk mengambil data dari item OLE.

BOOL IsDataAvailable(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

Parameter

cfFormat
Format data Clipboard yang akan digunakan dalam struktur yang ditunjukkan oleh lpFormatEtc. Parameter ini dapat menjadi salah satu format Clipboard yang telah ditentukan sebelumnya atau nilai yang dikembalikan oleh fungsi Windows RegisterClipboardFormat asli.

lpFormatEtc
Menunjuk ke struktur FORMATETC yang menjelaskan format yang diinginkan. Berikan nilai untuk parameter ini hanya jika Anda ingin menentukan informasi format tambahan di luar format Clipboard yang ditentukan oleh cfFormat. Jika NULL, nilai default digunakan untuk bidang lain dalam FORMATETC struktur.

Tampilkan Nilai

Bukan nol jika data tersedia dalam format yang ditentukan; jika tidak, 0.

Keterangan

Fungsi ini berguna sebelum memanggil GetData, , GetFileDataatau GetGlobalData.

Untuk informasi selengkapnya, lihat IDataObject::QueryGetData dan FORMATETC di Windows SDK.

Untuk informasi selengkapnya, lihat RegisterClipboardFormat di Windows SDK.

Contoh

Lihat contoh untuk CRichEditView::QueryAcceptData.

COleDataObject::Release

Panggil fungsi ini untuk merilis kepemilikan objek IDataObject yang sebelumnya terkait dengan COleDataObject objek.

void Release();

Keterangan

IDataObject dikaitkan dengan dengan COleDataObject panggilan Attach atau AttachClipboard secara eksplisit atau oleh kerangka kerja. Jika parameter bAutoRelease adalah Attach FALSE, IDataObject objek tidak akan dirilis. Dalam hal ini, pemanggil bertanggung jawab untuk merilis IDataObject dengan memanggil IUnknown::Release.

Lihat juga

Sampel MFC HIERSVR
Sampel MFC OCLIENT
Bagan Hierarki
Kelas COleDataSource
Kelas COleClientItem
Kelas COleServerItem