CPropExchange Sınıfı
OLE denetimleriniz için kalıcılık uygulamasını destekler.
Sözdizimi
class AFX_NOVTABLE CPropExchange
Üyeler
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CPropExchange::ExchangeBlobProp | İkili büyük nesne (BLOB) özelliğini değiştirir. |
CPropExchange::ExchangeFontProp | Yazı tipi özelliğini değiştirir. |
CPropExchange::ExchangePersistentProp | Bir denetimi ve dosyayı arasında bir özelliği değiştirir. |
CPropExchange::ExchangeProp | Herhangi bir yerleşik türün özelliklerini değiştirir. |
CPropExchange::ExchangeVersion | OLE denetiminin sürüm numarasını değiştirir. |
CPropExchange::GetVersion | OLE denetiminin sürüm numarasını alır. |
CPropExchange::IsAsynchronous | Özellik değişimlerinin zaman uyumsuz olarak yapılıp yapılmadığını belirler. |
CPropExchange::IsLoading | Özelliklerin denetime yüklenip yüklenmediğini veya denetimden kaydedilip kaydedilmediğini gösterir. |
Açıklamalar
CPropExchange
temel sınıfına sahip değildir.
Bir özellik değişiminin bağlamını ve yönünü oluşturur.
Kalıcılık, denetimin durum bilgilerinin, genellikle özellikleriyle temsil edilen, denetimin kendisi ile orta arasındaki değişimidir.
Çerçeve, OLE denetiminin özelliklerinin kalıcı depolamadan CPropExchange
yüklendiği veya depolandığı bildirildiğinde türetilen bir nesne oluşturur.
Çerçeve, denetiminizin DoPropExchange
işlevine bu CPropExchange
nesneye bir işaretçi geçirir. Denetiminiz için başlangıç dosyalarını oluşturmak üzere bir sihirbaz kullandıysanız, denetiminizin DoPropExchange
işlevi öğesini çağırır COleControl::DoPropExchange
. Temel sınıf sürüm, denetimin hisse senedi özelliklerini değiştirir; türetilmiş sınıfınızın sürümünü, denetiminize eklediğiniz özellikleri değiştirmek için değiştirirsiniz.
CPropExchange
bir denetimin özelliklerini seri hale getirmek veya denetimin yük veya oluşturma işlemi sırasında denetimin özelliklerini başlatmak için kullanılabilir. ExchangeProp
ve ExchangeFontProp
üye işlevleriCPropExchange
, özelliklerini farklı medyalarda depolayıp yükleyebilir.
kullanma CPropExchange
hakkında daha fazla bilgi için MFC ActiveX Denetimleri: Özellik Sayfaları makalesine bakın.
Devralma Hiyerarşisi
CPropExchange
Gereksinimler
Üst bilgi: afxctl.h
CPropExchange::ExchangeBlobProp
İkili büyük nesne (BLOB) verilerini depolayan bir özelliği seri hale getirir.
virtual BOOL ExchangeBlobProp(
LPCTSTR pszPropName,
HGLOBAL* phBlob,
HGLOBAL hBlobDefault = NULL) = 0;
Parametreler
pszPropName
Değiş tokuş edilen özelliğin adı.
phBlob
Özelliğin depolandığı yere işaret eden bir değişken işaretçisi (değişken genellikle sınıfınızın bir üyesidir).
hBlobDefault
Özelliği için varsayılan değer.
Dönüş Değeri
Değişim başarılı olursa sıfır olmayan; Başarısız olursa 0.
Açıklamalar
Özelliğin değeri, phBlob tarafından başvuruda bulunan değişkenden okunur veya bu değişkene yazılır. hBlobDefault belirtilirse özelliğin varsayılan değeri olarak kullanılır. Herhangi bir nedenle denetimin serileştirmesi başarısız olursa bu değer kullanılır.
, CResetPropExchange::ExchangeBlobProp
ve CPropsetPropExchange::ExchangeBlobProp
işlevleri CArchivePropExchange::ExchangeBlobProp
bu saf sanal işlevi geçersiz kılar.
CPropExchange::ExchangeFontProp
Depolama ortamı ile denetim arasında yazı tipi özelliğini değiştirir.
virtual BOOL ExchangeFontProp(
LPCTSTR pszPropName,
CFontHolder& font,
const FONTDESC* pFontDesc,
LPFONTDISP pFontDispAmbient) = 0;
Parametreler
pszPropName
Değiş tokuş edilen özelliğin adı.
yazı tipi
Font özelliğini içeren bir CFontHolder nesnesine başvuru.
pFontDesc
pFontDispAmbient NULL olduğunda yazı tipi özelliğinin varsayılan durumunu başlatmaya yönelik değerleri içeren FONTDESC yapısına yönelik bir işaretçi.
pFontDispAmbient
Yazı tipi özelliğinin IFontDisp
varsayılan durumunu başlatmak için kullanılacak bir yazı tipi arabirimi işaretçisi.
Dönüş Değeri
Değişim başarılı olursa sıfır olmayan; Başarısız olursa 0.
Açıklamalar
Yazı tipi özelliği ortamdan denetime yükleniyorsa, yazı tipinin özellikleri ortamdan alınır ve yazı tipi tarafından başvuruda bulunan CFontHolder
nesne onlarla başlatılır. Yazı tipi özelliği depolanıyorsa, yazı tipi nesnesindeki özellikler ortama yazılır.
, CResetPropExchange::ExchangeFontProp
ve CPropsetPropExchange::ExchangeFontProp
işlevleri CArchivePropExchange::ExchangeFontProp
bu saf sanal işlevi geçersiz kılar.
CPropExchange::ExchangePersistentProp
Denetim ve dosya arasında bir özellik değiştirir.
virtual BOOL ExchangePersistentProp(
LPCTSTR pszPropName,
LPUNKNOWN* ppUnk,
REFIID iid,
LPUNKNOWN pUnkDefault) = 0;
Parametreler
pszPropName
Değiş tokuş edilen özelliğin adı.
ppUnk
Özelliğin arabirimine yönelik bir işaretçi içeren değişken işaretçisi IUnknown
(bu değişken genellikle sınıfınızın bir üyesidir).
iid
Denetimin kullanacağı özellik üzerindeki arabirimin arabirim kimliği.
pUnkDefault
Özelliği için varsayılan değer.
Dönüş Değeri
Değişim başarılı olursa sıfır olmayan; Başarısız olursa 0.
Açıklamalar
Özellik dosyadan denetime yükleniyorsa, özellik oluşturulur ve dosyadan başlatılır. Özellik depolanıyorsa, değeri dosyaya yazılır.
, CResetPropExchange::ExchangePersistentProp
ve CPropsetPropExchange::ExchangePersistentProp
işlevleri CArchivePropExchange::ExchangePersistentProp
bu saf sanal işlevi geçersiz kılar.
CPropExchange::ExchangeProp
Depolama ortamı ile denetim arasında bir özelliği değiştirir.
virtual BOOL ExchangeProp(
LPCTSTR pszPropName,
VARTYPE vtProp,
void* pvProp,
const void* pvDefault = NULL) = 0 ;
Parametreler
pszPropName
Değiş tokuş edilen özelliğin adı.
vtProp
Değiştirilmekte olan özelliğin türünü belirten bir simge. Olası değerler şunlardır:
Simge | Özellik Türü |
---|---|
VT_I2 | short |
VT_I4 | long |
VT_BOOL | BOOL |
VT_BSTR | CString |
VT_CY | CY |
VT_R4 | float |
VT_R8 | double |
pvProp
Özelliğin değerinin işaretçisi.
pvDefault
Özelliği için varsayılan bir değere işaretçi.
Dönüş Değeri
Değişim başarılı olursa sıfır olmayan; Başarısız olursa 0.
Açıklamalar
Özellik ortamdan denetime yükleniyorsa, özelliğin değeri ortamdan alınır ve pvProp tarafından işaret edilen nesnede depolanır. Özellik orta değere depolanıyorsa, pvProp tarafından işaret edilen nesnenin değeri orta değere yazılır.
, CResetPropExchange::ExchangeProp
ve CPropsetPropExchange::ExchangeProp
işlevleri CArchivePropExchange::ExchangeProp
bu saf sanal işlevi geçersiz kılar.
CPropExchange::ExchangeVersion
Sürüm numarasının kalıcılığını işlemek için çerçeve tarafından çağrılır.
virtual BOOL ExchangeVersion(
DWORD& dwVersionLoaded,
DWORD dwVersionDefault,
BOOL bConvert);
Parametreler
dwVersionLoaded
Yüklenen kalıcı verilerin sürüm numarasının depolanacağı bir değişkene başvuru.
dwVersionDefault
Denetimin geçerli sürüm numarası.
bConvert
Kalıcı verilerin geçerli sürüme dönüştürülüp dönüştürülmeyeceğini veya yüklenen aynı sürümde tutulup tutulmayacağını gösterir.
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; 0 aksi takdirde.
CPropExchange::GetVersion
Denetimin sürüm numarasını almak için bu işlevi çağırın.
DWORD GetVersion();
Dönüş Değeri
Denetimin sürüm numarası.
CPropExchange::IsAsynchronous
Özellik değişimlerinin zaman uyumsuz olarak yapılıp yapılmadığını belirler.
BOOL IsAsynchronous();
Dönüş Değeri
Özellikler zaman uyumsuz olarak değiştirilirse TRUE, aksi takdirde YANLIŞ döndürür.
CPropExchange::IsLoading
Özelliklerin denetime yüklenip yüklenmediğini veya denetimden kaydedilip kaydedilmediğini belirlemek için bu işlevi çağırın.
BOOL IsLoading();
Dönüş Değeri
Özellikler yükleniyorsa sıfır olmayan; aksi takdirde 0.