Sdílet prostřednictvím


CPropExchange – třída

Podporuje implementaci trvalosti pro ovládací prvky OLE.

Syntaxe

class AFX_NOVTABLE CPropExchange

Členové

Veřejné metody

Název Popis
CPropExchange::ExchangeBlobProp Vymění vlastnost binárního velkého objektu (BLOB).
CPropExchange::ExchangeFontProp Vymění vlastnost písma.
CPropExchange::ExchangePersistentProp Vymění vlastnost mezi ovládacím prvku a souborem.
CPropExchange::ExchangeProp Vymění vlastnosti libovolného předdefinovaných typů.
CPropExchange::ExchangeVersion Vymění číslo verze ovládacího prvku OLE.
CPropExchange::GetVersion Načte číslo verze ovládacího prvku OLE.
CPropExchange::IsAsynchronous Určuje, jestli se výměny vlastností provádí asynchronně.
CPropExchange::IsLoading Určuje, zda jsou vlastnosti načteny do ovládacího prvku nebo uloženy z něj.

Poznámky

CPropExchange nemá základní třídu.

Vytvoří kontext a směr výměny vlastností.

Trvalost je výměna informací o stavu ovládacího prvku, obvykle reprezentovaných jeho vlastnostmi, mezi samotným ovládacím prvku a médium.

Architektura vytvoří objekt odvozený z CPropExchange doby, kdy je upozorněn, že vlastnosti ovládacího prvku OLE mají být načteny z trvalého úložiště nebo uloženy do trvalého úložiště.

Architektura předává ukazatel na tento CPropExchange objekt do funkce vašeho ovládacího prvku DoPropExchange . Pokud jste k vytvoření počátečních souborů pro ovládací prvek použili průvodce, volání COleControl::DoPropExchangefunkce ovládacího prvku DoPropExchange . Verze základní třídy vyměňuje vlastnosti akcií ovládacího prvku; upravíte verzi odvozené třídy tak, aby vyměňovala vlastnosti, které jste přidali do ovládacího prvku.

CPropExchange lze použít k serializaci vlastností ovládacího prvku nebo inicializaci vlastností ovládacího prvku při načtení nebo vytvoření ovládacího prvku. ExchangeFontProp Členské ExchangeProp funkce CPropExchange umožňují ukládat vlastnosti a načítat je z různých médií.

Další informace o použití CPropExchangenaleznete v článku MFC Ovládací prvky ActiveX: Stránky vlastností.

Hierarchie dědičnosti

CPropExchange

Požadavky

Záhlaví: afxctl.h

CPropExchange::ExchangeBlobProp

Serializuje vlastnost, která ukládá binární velké objekty (BLOB) data.

virtual BOOL ExchangeBlobProp(
    LPCTSTR pszPropName,
    HGLOBAL* phBlob,
    HGLOBAL hBlobDefault = NULL) = 0;

Parametry

pszPropName
Název vyměněné vlastnosti.

PhBlob
Ukazatel na proměnnou odkazující na místo, kde je vlastnost uložena (proměnná je obvykle členem vaší třídy).

hBlobDefault
Výchozí hodnota vlastnosti.

Návratová hodnota

Nenulové, pokud byla výměna úspěšná; 0 v případě neúspěchu.

Poznámky

Hodnota vlastnosti se podle potřeby načte z nebo zapisuje do proměnné odkazované phBlobem. Pokud je zadán hBlobDefault , použije se jako výchozí hodnota vlastnosti. Tato hodnota se používá, pokud z jakéhokoli důvodu se serializace ovládacího prvku nezdaří.

CArchivePropExchange::ExchangeBlobPropFunkce , CResetPropExchange::ExchangeBlobPropa CPropsetPropExchange::ExchangeBlobProp přepsat tuto čistě virtuální funkci.

CPropExchange::ExchangeFontProp

Vymění vlastnost písma mezi úložným médium a ovládacím prvku.

virtual BOOL ExchangeFontProp(
    LPCTSTR pszPropName,
    CFontHolder& font,
    const FONTDESC* pFontDesc,
    LPFONTDISP pFontDispAmbient) = 0;

Parametry

pszPropName
Název vyměněné vlastnosti.

písmo
Odkaz na CFontHolder objekt, který obsahuje font vlastnost.

pFontDesc
Ukazatel na strukturu FONTDESC obsahující hodnoty pro inicializaci výchozího stavu vlastnosti písma, pokud pFontDispAmbient je NULL.

pFontDispAmbient
Ukazatel na IFontDisp rozhraní písma, které se má použít k inicializaci výchozího stavu vlastnosti písma.

Návratová hodnota

Nenulové, pokud byla výměna úspěšná; 0 v případě neúspěchu.

Poznámky

Pokud se vlastnost písma načítá z média do ovládacího prvku, vlastnosti písma se načtou ze střední hodnoty a CFontHolder objekt, na který odkazuje písmo , se s nimi inicializuje. Pokud je vlastnost písma uložena, vlastnosti v objektu písma jsou zapsány na médiu.

CArchivePropExchange::ExchangeFontPropFunkce , CResetPropExchange::ExchangeFontPropa CPropsetPropExchange::ExchangeFontProp přepsat tuto čistě virtuální funkci.

CPropExchange::ExchangePersistentProp

Vymění vlastnost mezi ovládacím prvku a souborem.

virtual BOOL ExchangePersistentProp(
    LPCTSTR pszPropName,
    LPUNKNOWN* ppUnk,
    REFIID iid,
    LPUNKNOWN pUnkDefault) = 0;

Parametry

pszPropName
Název vyměněné vlastnosti.

ppUnk
Ukazatel na proměnnou obsahující ukazatel na rozhraní vlastnosti IUnknown (tato proměnná je obvykle členem vaší třídy).

iid
ID rozhraní na vlastnosti, kterou bude ovládací prvek používat.

pUnkDefault
Výchozí hodnota vlastnosti.

Návratová hodnota

Nenulové, pokud byla výměna úspěšná; 0 v případě neúspěchu.

Poznámky

Pokud se vlastnost načítá ze souboru do ovládacího prvku, vlastnost se vytvoří a inicializuje ze souboru. Pokud je vlastnost uložena, její hodnota se zapíše do souboru.

CArchivePropExchange::ExchangePersistentPropFunkce , CResetPropExchange::ExchangePersistentPropa CPropsetPropExchange::ExchangePersistentProp přepsat tuto čistě virtuální funkci.

CPropExchange::ExchangeProp

Vymění vlastnost mezi úložným médium a ovládacím prvku.

virtual BOOL ExchangeProp(
    LPCTSTR pszPropName,
    VARTYPE vtProp,
    void* pvProp,
    const void* pvDefault = NULL) = 0 ;

Parametry

pszPropName
Název vyměněné vlastnosti.

vtProp
Symbol určující typ vyměňované vlastnosti. Možné hodnoty jsou:

Symbol Typ vlastnosti
VT_I2 short
VT_I4 long
VT_BOOL BOOL
VT_BSTR CString
VT_CY CY
VT_R4 float
VT_R8 double

pvProp
Ukazatel na hodnotu vlastnosti.

pvDefault
Ukazatel na výchozí hodnotu vlastnosti.

Návratová hodnota

Nenulové, pokud byla výměna úspěšná; 0 v případě neúspěchu.

Poznámky

Pokud se vlastnost načítá ze média do ovládacího prvku, hodnota vlastnosti se načte z média a uloží se v objektu, na který odkazuje pvProp. Pokud je vlastnost uložena na médiu, hodnota objektu, na který odkazuje pvProp , je zapsána na médiu.

CArchivePropExchange::ExchangePropFunkce , CResetPropExchange::ExchangePropa CPropsetPropExchange::ExchangeProp přepsat tuto čistě virtuální funkci.

CPropExchange::ExchangeVersion

Volá se rozhraním pro zpracování trvalosti čísla verze.

virtual BOOL ExchangeVersion(
    DWORD& dwVersionLoaded,
    DWORD dwVersionDefault,
    BOOL bConvert);

Parametry

dwVersionLoaded
Odkaz na proměnnou, ve které se uloží číslo verze načítaných trvalých dat.

dwVersionDefault
Aktuální číslo verze ovládacího prvku.

bConvert
Určuje, zda chcete převést trvalá data na aktuální verzi, nebo je ponechat ve stejné verzi, která byla načtena.

Návratová hodnota

Nenulové, pokud funkce proběhla úspěšně; 0 jinak.

CPropExchange::GetVersion

Voláním této funkce načtěte číslo verze ovládacího prvku.

DWORD GetVersion();

Návratová hodnota

Číslo verze ovládacího prvku.

CPropExchange::IsAsynchronous

Určuje, jestli se výměny vlastností provádí asynchronně.

BOOL IsAsynchronous();

Návratová hodnota

Vrátí hodnotu TRUE, pokud se vlastnosti vyměňují asynchronně, jinak NEPRAVDA.

CPropExchange::IsLoading

Voláním této funkce určíte, zda jsou vlastnosti načteny do ovládacího prvku nebo uloženy z něj.

BOOL IsLoading();

Návratová hodnota

Nenulové, pokud se načítají vlastnosti; jinak 0.

Viz také

Graf hierarchie
COleControl::D oPropExchange