CPropExchange osztály

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.

Lásd még

hierarchiadiagram
COleControl::D oPropExchange