Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mendukung implementasi persistensi untuk kontrol OLE Anda.
Sintaks
class AFX_NOVTABLE CPropExchange
Anggota
Metode Publik
| Nama | Deskripsi |
|---|---|
| CPropExchange::ExchangeBlobProp | Menukar properti objek besar biner (BLOB). |
| CPropExchange::ExchangeFontProp | Menukar properti font. |
| CPropExchange::ExchangePersistentProp | Menukar properti antara kontrol dan file. |
| CPropExchange::ExchangeProp | Menukar properti dari jenis bawaan apa pun. |
| CPropExchange::ExchangeVersion | Menukar nomor versi kontrol OLE. |
| CPropExchange::GetVersion | Mengambil nomor versi kontrol OLE. |
| CPropExchange::IsAsynchronous | Menentukan apakah pertukaran properti dilakukan secara asinkron. |
| CPropExchange::IsLoading | Menunjukkan apakah properti sedang dimuat ke dalam kontrol atau disimpan darinya. |
Keterangan
CPropExchange tidak memiliki kelas dasar.
Menetapkan konteks dan arah pertukaran properti.
Persistensi adalah pertukaran informasi status kontrol, biasanya diwakili oleh propertinya, antara kontrol itu sendiri dan media.
Kerangka kerja membangun objek yang berasal dari CPropExchange ketika diberi tahu bahwa properti kontrol OLE akan dimuat dari atau disimpan ke penyimpanan persisten.
Kerangka kerja meneruskan penunjuk ke objek ini CPropExchange ke fungsi kontrol DoPropExchange Anda. Jika Anda menggunakan wizard untuk membuat file pemula untuk kontrol Anda, fungsi kontrol DoPropExchange Anda akan memanggil COleControl::DoPropExchange. Versi kelas dasar bertukar properti saham kontrol; Anda mengubah versi kelas turunan untuk bertukar properti yang telah Anda tambahkan ke kontrol Anda.
CPropExchange dapat digunakan untuk membuat serial properti kontrol atau menginisialisasi properti kontrol setelah beban atau pembuatan kontrol. Fungsi ExchangeProp CPropExchange anggota dan ExchangeFontProp dapat menyimpan properti ke dan memuatnya dari media yang berbeda.
Untuk informasi selengkapnya tentang menggunakan CPropExchange, lihat artikel Kontrol ActiveX MFC: Halaman Properti.
Hierarki Warisan
CPropExchange
Persyaratan
Header: afxctl.h
CPropExchange::ExchangeBlobProp
Menserialisasikan properti yang menyimpan data objek besar biner (BLOB).
virtual BOOL ExchangeBlobProp(
LPCTSTR pszPropName,
HGLOBAL* phBlob,
HGLOBAL hBlobDefault = NULL) = 0;
Parameter
pszPropName
Nama properti yang sedang ditukar.
phBlob
Penunjuk ke variabel yang menunjuk ke tempat properti disimpan (variabel biasanya merupakan anggota kelas Anda).
hBlobDefault
Nilai default untuk properti .
Tampilkan Nilai
Bukan nol jika pertukaran berhasil; 0 jika tidak berhasil.
Keterangan
Nilai properti dibaca dari atau ditulis ke, yang sesuai, variabel yang dirujuk oleh phBlob. Jika hBlobDefault ditentukan, hBlobDefault akan digunakan sebagai nilai default properti. Nilai ini digunakan jika, karena alasan apa pun, serialisasi kontrol gagal.
Fungsi CArchivePropExchange::ExchangeBlobProp, CResetPropExchange::ExchangeBlobProp, dan CPropsetPropExchange::ExchangeBlobProp mengambil alih fungsi virtual murni ini.
CPropExchange::ExchangeFontProp
Menukar properti font antara media penyimpanan dan kontrol.
virtual BOOL ExchangeFontProp(
LPCTSTR pszPropName,
CFontHolder& font,
const FONTDESC* pFontDesc,
LPFONTDISP pFontDispAmbient) = 0;
Parameter
pszPropName
Nama properti yang sedang ditukar.
Font
Referensi ke objek CFontHolder yang berisi properti font.
pFontDesc
Penunjuk ke struktur FONTDESC yang berisi nilai untuk menginisialisasi status default properti font saat pFontDispAmbient adalah NULL.
pFontDispAmbient
Penunjuk ke IFontDisp antarmuka font yang akan digunakan untuk menginisialisasi status default properti font.
Tampilkan Nilai
Bukan nol jika pertukaran berhasil; 0 jika tidak berhasil.
Keterangan
Jika properti font sedang dimuat dari sedang ke kontrol, karakteristik font diambil dari sedang dan objek yang CFontHolder direferensikan oleh font diinisialisasi dengannya. Jika properti font sedang disimpan, karakteristik dalam objek font ditulis ke sedang.
Fungsi CArchivePropExchange::ExchangeFontProp, CResetPropExchange::ExchangeFontProp, dan CPropsetPropExchange::ExchangeFontProp mengambil alih fungsi virtual murni ini.
CPropExchange::ExchangePersistentProp
Menukar properti antara kontrol dan file.
virtual BOOL ExchangePersistentProp(
LPCTSTR pszPropName,
LPUNKNOWN* ppUnk,
REFIID iid,
LPUNKNOWN pUnkDefault) = 0;
Parameter
pszPropName
Nama properti yang sedang ditukar.
ppUnk
Penunjuk ke variabel yang berisi penunjuk ke antarmuka properti IUnknown (variabel ini biasanya merupakan anggota kelas Anda).
iid
ID antarmuka antarmuka pada properti yang akan digunakan kontrol.
pUnkDefault
Nilai default untuk properti .
Tampilkan Nilai
Bukan nol jika pertukaran berhasil; 0 jika tidak berhasil.
Keterangan
Jika properti sedang dimuat dari file ke kontrol, properti dibuat dan diinisialisasi dari file. Jika properti sedang disimpan, nilainya ditulis ke file.
Fungsi CArchivePropExchange::ExchangePersistentProp, CResetPropExchange::ExchangePersistentProp, dan CPropsetPropExchange::ExchangePersistentProp mengambil alih fungsi virtual murni ini.
CPropExchange::ExchangeProp
Menukar properti antara media penyimpanan dan kontrol.
virtual BOOL ExchangeProp(
LPCTSTR pszPropName,
VARTYPE vtProp,
void* pvProp,
const void* pvDefault = NULL) = 0 ;
Parameter
pszPropName
Nama properti yang sedang ditukar.
vtProp
Simbol yang menentukan jenis properti yang sedang ditukar. Kemungkinan nilai adalah:
| Simbol | Jenis Properti |
|---|---|
| VT_I2 | short |
| VT_I4 | long |
| VT_BOOL | BOOL |
| VT_BSTR | CString |
| VT_CY | CY |
| VT_R4 | float |
| VT_R8 | double |
pvProp
Penunjuk ke nilai properti.
pvDefault
Penunjuk ke nilai default untuk properti .
Tampilkan Nilai
Bukan nol jika pertukaran berhasil; 0 jika tidak berhasil.
Keterangan
Jika properti sedang dimuat dari sedang ke kontrol, nilai properti diambil dari sedang dan disimpan dalam objek yang diacu oleh pvProp. Jika properti sedang disimpan ke sedang, nilai objek yang ditujukkan oleh pvProp ditulis ke sedang.
Fungsi CArchivePropExchange::ExchangeProp, CResetPropExchange::ExchangeProp, dan CPropsetPropExchange::ExchangeProp mengambil alih fungsi virtual murni ini.
CPropExchange::ExchangeVersion
Dipanggil oleh kerangka kerja untuk menangani persistensi nomor versi.
virtual BOOL ExchangeVersion(
DWORD& dwVersionLoaded,
DWORD dwVersionDefault,
BOOL bConvert);
Parameter
dwVersionLoaded
Referensi ke variabel tempat nomor versi data persisten yang dimuat akan disimpan.
dwVersionDefault
Nomor versi kontrol saat ini.
bConvert
Menunjukkan apakah akan mengonversi data persisten ke versi saat ini atau menyimpannya pada versi yang sama yang dimuat.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; 0 jika tidak.
CPropExchange::GetVersion
Panggil fungsi ini untuk mengambil nomor versi kontrol.
DWORD GetVersion();
Tampilkan Nilai
Nomor versi kontrol.
CPropExchange::IsAsynchronous
Menentukan apakah pertukaran properti dilakukan secara asinkron.
BOOL IsAsynchronous();
Tampilkan Nilai
Mengembalikan TRUE jika properti ditukar secara asinkron, jika tidak FALSE.
CPropExchange::IsLoading
Panggil fungsi ini untuk menentukan apakah properti sedang dimuat ke kontrol atau disimpan darinya.
BOOL IsLoading();
Tampilkan Nilai
Bukan nol jika properti sedang dimuat; jika tidak, 0.