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 CFile
turunan yang berisi data jika berhasil; jika tidak, NULL.
Keterangan
Bergantung pada media tempat data disimpan, jenis aktual yang ditujukkan oleh nilai pengembalian mungkin CFile
, , CSharedFile
atau 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
, , GetFileData
atau 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