Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Támogatja az OLE-vezérlők megőrzésének megvalósítását.
Szemantika
class AFX_NOVTABLE CPropExchange
Tagok
Nyilvános metódusok
| Név | Description |
|---|---|
| CPropExchange::ExchangeBlobProp | Bináris nagy objektum (BLOB) tulajdonság cseréje. |
| CPropExchange::ExchangeFontProp | Egy betűtulajdonság cseréje. |
| CPropExchange::ExchangePersistentProp | Tulajdonság cseréje egy vezérlő és egy fájl között. |
| CPropExchange::ExchangeProp | Bármely beépített típus tulajdonságainak cseréje. |
| CPropExchange::ExchangeVersion | Egy OLE-vezérlő verziószámának cseréje. |
| CPropExchange::GetVersion | Lekéri egy OLE-vezérlő verziószámát. |
| CPropExchange::IsAsynchronous | Meghatározza, hogy a tulajdonságcsere aszinkron módon történik-e. |
| CPropExchange::IsLoading | Azt jelzi, hogy a tulajdonságok betöltve vannak-e a vezérlőbe, vagy mentettek-e belőle. |
Megjegyzések
CPropExchange nem rendelkezik alaposztálysal.
Meghatározza a tulajdonságcsere kontextusát és irányát.
A tartósság a vezérlő állapotadatainak cseréje, amelyet általában a tulajdonságai képviselnek, a vezérlő és a közepes között.
A keretrendszer egy olyan objektumot hoz létre, amely abból CPropExchange származik, hogy értesítést kap arról, hogy egy OLE-vezérlő tulajdonságait az állandó tárolóba kell betölteni vagy tárolni.
A keretrendszer egy mutatót ad át ehhez az CPropExchange objektumhoz a vezérlő függvényéhez DoPropExchange . Ha varázslóval hozta létre a vezérlő kezdőfájljait, a vezérlő függvénye meghívja DoPropExchangeCOleControl::DoPropExchange. Az alaposztály verziója a vezérlő részvénytulajdonságait cseréli; a származtatott osztály verzióját úgy módosítja, hogy a vezérlőhöz hozzáadott tulajdonságokat cserélje le.
CPropExchange A vezérlő tulajdonságainak szerializálására vagy egy vezérlő tulajdonságainak inicializálására használható egy vezérlő betöltésekor vagy létrehozásakor. A ExchangeProp függvények és ExchangeFontProp tagfüggvények CPropExchange különböző adathordozókon tárolhatják és betölthetik a tulajdonságokat.
A használatról CPropExchangetovábbi információt az MFC ActiveX-vezérlők: Tulajdonságlapok című cikkben talál.
Öröklési hierarchia
CPropExchange
Requirements
Fejléc: afxctl.h
CPropExchange::ExchangeBlobProp
Szerializál egy olyan tulajdonságot, amely bináris nagy objektumadatokat (BLOB) tárol.
virtual BOOL ExchangeBlobProp(
LPCTSTR pszPropName,
HGLOBAL* phBlob,
HGLOBAL hBlobDefault = NULL) = 0;
Paraméterek
pszPropName
A kicserélt tulajdonság neve.
phBlob
Mutasson egy változóra, amely a tulajdonság tárolási helyére mutat (a változó általában az osztály tagja).
hBlobDefault
A tulajdonság alapértelmezett értéke.
Visszaadott érték
Nemzero, ha a csere sikeres volt; 0, ha sikertelen.
Megjegyzések
A tulajdonság értékét a függvény a phBlob által hivatkozott változóból olvassa be vagy írja be. Ha a hBlobDefault meg van adva, a rendszer a tulajdonság alapértelmezett értékeként fogja használni. Ezt az értéket akkor használja a rendszer, ha a vezérlő szerializálása bármilyen okból meghiúsul.
A függvények CArchivePropExchange::ExchangeBlobProp, CResetPropExchange::ExchangeBlobPropés CPropsetPropExchange::ExchangeBlobProp felülbírálják ezt a tiszta virtuális függvényt.
CPropExchange::ExchangeFontProp
Egy betűtípus tulajdonság cseréje egy tárolóeszköz és a vezérlő között.
virtual BOOL ExchangeFontProp(
LPCTSTR pszPropName,
CFontHolder& font,
const FONTDESC* pFontDesc,
LPFONTDISP pFontDispAmbient) = 0;
Paraméterek
pszPropName
A kicserélt tulajdonság neve.
Betűtípus
Hivatkozás a betűkészlet tulajdonságot tartalmazó CFontHolder objektumra.
pFontDesc
Mutató egy FONTDESC-struktúrára , amely a pFontDispAmbient értéke esetén a betűtípus tulajdonság alapértelmezett állapotának inicializálására szolgáló értékeket tartalmaz.
pFontDispAmbient
A betűtípus tulajdonság alapértelmezett állapotának inicializálásához használandó betűtípus felületére mutató mutató IFontDisp .
Visszaadott érték
Nemzero, ha a csere sikeres volt; 0, ha sikertelen.
Megjegyzések
Ha a betűtípus tulajdonság a közepestől a vezérlőig van betöltve, a program lekéri a betűtípus jellemzőit a médiumból, és a CFontHolderbetűtípus által hivatkozott objektum inicializálva lesz velük. Ha a betűtípus tulajdonság tárolása folyamatban van, a rendszer a betűtípus-objektum jellemzőit a adathordozóra írja.
A függvények CArchivePropExchange::ExchangeFontProp, CResetPropExchange::ExchangeFontPropés CPropsetPropExchange::ExchangeFontProp felülbírálják ezt a tiszta virtuális függvényt.
CPropExchange::ExchangePersistentProp
Egy tulajdonság cseréje a vezérlő és a fájl között.
virtual BOOL ExchangePersistentProp(
LPCTSTR pszPropName,
LPUNKNOWN* ppUnk,
REFIID iid,
LPUNKNOWN pUnkDefault) = 0;
Paraméterek
pszPropName
A kicserélt tulajdonság neve.
ppUnk
Mutató egy változóhoz, amely a tulajdonság felületére IUnknown mutató mutatót tartalmaz (ez a változó általában az osztály tagja).
iid
A vezérlő által használt tulajdonság interfészazonosítója.
pUnkDefault
A tulajdonság alapértelmezett értéke.
Visszaadott érték
Nemzero, ha a csere sikeres volt; 0, ha sikertelen.
Megjegyzések
Ha a tulajdonság betöltődik a fájlból a vezérlőbe, a tulajdonság létrejön és inicializálódik a fájlból. Ha a tulajdonság tárolása folyamatban van, annak értéke a fájlba lesz írva.
A függvények CArchivePropExchange::ExchangePersistentProp, CResetPropExchange::ExchangePersistentPropés CPropsetPropExchange::ExchangePersistentProp felülbírálják ezt a tiszta virtuális függvényt.
CPropExchange::ExchangeProp
Egy tulajdonság cseréje egy tárolóeszköz és a vezérlő között.
virtual BOOL ExchangeProp(
LPCTSTR pszPropName,
VARTYPE vtProp,
void* pvProp,
const void* pvDefault = NULL) = 0 ;
Paraméterek
pszPropName
A kicserélt tulajdonság neve.
vtProp
A kicserélendő tulajdonság típusát meghatározó szimbólum. A lehetséges értékek a következők:
| Szimbólum | Tulajdonságtípus |
|---|---|
| VT_I2 | short |
| VT_I4 | long |
| VT_BOOL | BOOL |
| VT_BSTR | CString |
| VT_CY | CY |
| VT_R4 | float |
| VT_R8 | double |
pvProp
Mutató a tulajdonság értékére.
pvDefault
Mutasson a tulajdonság alapértelmezett értékére.
Visszaadott érték
Nemzero, ha a csere sikeres volt; 0, ha sikertelen.
Megjegyzések
Ha a tulajdonság betöltése a közegből a vezérlőbe történik, a rendszer lekéri a tulajdonság értékét az adathordozóról, és a pvProp által mutatott objektumban tárolja. Ha a tulajdonságot a adathordozón tárolják, a pvProp által mutatott objektum értéke a adathordozóra lesz írva.
A függvények CArchivePropExchange::ExchangeProp, CResetPropExchange::ExchangePropés CPropsetPropExchange::ExchangeProp felülbírálják ezt a tiszta virtuális függvényt.
CPropExchange::ExchangeVersion
A keretrendszer meghívta egy verziószám megőrzésének kezelésére.
virtual BOOL ExchangeVersion(
DWORD& dwVersionLoaded,
DWORD dwVersionDefault,
BOOL bConvert);
Paraméterek
dwVersionLoaded
Hivatkozás egy változóra, amelyben a betöltendő állandó adatok verziószáma lesz tárolva.
dwVersionDefault
A vezérlő aktuális verziószáma.
bConvert
Azt jelzi, hogy az állandó adatokat az aktuális verzióra szeretné-e konvertálni, vagy a betöltött verzióval megegyező verzióban szeretné-e tárolni.
Visszaadott érték
Nemzero, ha a függvény sikeres volt; 0 egyéb esetben.
CPropExchange::GetVersion
Hívja meg ezt a függvényt a vezérlő verziószámának lekéréséhez.
DWORD GetVersion();
Visszaadott érték
A vezérlő verziószáma.
CPropExchange::IsAsynchronous
Meghatározza, hogy a tulajdonságcsere aszinkron módon történik-e.
BOOL IsAsynchronous();
Visszaadott érték
Igaz értéket ad vissza, ha a tulajdonságok aszinkron módon cserélődnek, ellenkező esetben HAMIS.
CPropExchange::IsLoading
Hívja meg ezt a függvényt annak megállapításához, hogy a tulajdonságok betöltve vannak-e a vezérlőbe, vagy mentve vannak-e belőle.
BOOL IsLoading();
Visszaadott érték
Nemzero, ha a tulajdonságok betöltése folyamatban van; egyéb esetben 0.