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::DoPropExchange
funkce 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í CPropExchange
naleznete 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::ExchangeBlobProp
Funkce , CResetPropExchange::ExchangeBlobProp
a 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::ExchangeFontProp
Funkce , CResetPropExchange::ExchangeFontProp
a 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::ExchangePersistentProp
Funkce , CResetPropExchange::ExchangePersistentProp
a 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::ExchangeProp
Funkce , CResetPropExchange::ExchangeProp
a 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.