CPropExchange 클래스
OLE 컨트롤의 지속성 구현을 지원합니다.
구문
class AFX_NOVTABLE CPropExchange
멤버
공용 메서드
이름 | 설명 |
---|---|
CPropExchange::ExchangeBlobProp | BLOB(Binary Large Object) 속성을 교환합니다. |
CPropExchange::ExchangeFontProp | 글꼴 속성을 교환합니다. |
CPropExchange::ExchangePersistentProp | 컨트롤과 파일 간에 속성을 교환합니다. |
CPropExchange::ExchangeProp | 기본 제공 형식의 속성을 교환합니다. |
CPropExchange::ExchangeVersion | OLE 컨트롤의 버전 번호를 교환합니다. |
CPropExchange::GetVersion | OLE 컨트롤의 버전 번호를 검색합니다. |
CPropExchange::IsAsynchronous | 속성 교환이 비동기적으로 수행되는지 여부를 결정합니다. |
CPropExchange::IsLoading | 속성이 컨트롤에 로드되는지 아니면 컨트롤에서 저장되는지 여부를 나타냅니다. |
설명
CPropExchange
에는 기본 클래스가 없습니다.
속성 교환의 컨텍스트 및 방향을 설정합니다.
지속성은 컨트롤 자체와 매체 간에 컨트롤의 상태 정보(일반적으로 해당 속성으로 표현됨)의 교환입니다.
프레임워크는 OLE 컨트롤의 속성을 영구 스토리지에서 CPropExchange
로드하거나 저장해야 한다는 알림을 받을 때 파생된 개체를 생성합니다.
프레임워크는 이 CPropExchange
개체에 대한 포인터를 컨트롤의 DoPropExchange
함수에 전달합니다. 마법사를 사용하여 컨트롤의 시작 파일을 만든 경우 컨트롤의 DoPropExchange
함수가 호출합니다 COleControl::DoPropExchange
. 기본 클래스 버전은 컨트롤의 주식 속성을 교환합니다. 파생 클래스의 버전을 수정하여 컨트롤에 추가한 속성을 교환합니다.
CPropExchange
컨트롤의 속성을 직렬화하거나 컨트롤을 로드하거나 만들 때 컨트롤의 속성을 초기화하는 데 사용할 수 있습니다. ExchangeProp
ExchangeFontProp
및 CPropExchange
멤버 함수는 속성을 저장하고 다른 미디어에서 로드할 수 있습니다.
사용에 CPropExchange
대한 자세한 내용은 MFC ActiveX 컨트롤: 속성 페이지 문서를 참조하세요.
상속 계층 구조
CPropExchange
요구 사항
헤더: afxctl.h
CPropExchange::ExchangeBlobProp
BLOB(Binary Large Object) 데이터를 저장하는 속성을 직렬화합니다.
virtual BOOL ExchangeBlobProp(
LPCTSTR pszPropName,
HGLOBAL* phBlob,
HGLOBAL hBlobDefault = NULL) = 0;
매개 변수
pszPropName
교환되는 속성의 이름입니다.
phBlob
속성이 저장되는 위치를 가리키는 변수에 대한 포인터입니다(변수는 일반적으로 클래스의 멤버임).
hBlobDefault
속성의 기본값입니다.
Return Value
교환에 성공한 경우 0이 아닌 경우 실패하면 0입니다.
설명
속성의 값은 phBlob에서 참조하는 변수에서 읽거나 적절하게 기록됩니다. hBlobDefault를 지정하면 속성의 기본값으로 사용됩니다. 이 값은 어떤 이유로든 컨트롤의 serialization이 실패하는 경우에 사용됩니다.
함수 및 CArchivePropExchange::ExchangeBlobProp
CResetPropExchange::ExchangeBlobProp
CPropsetPropExchange::ExchangeBlobProp
이 순수 가상 함수를 재정의합니다.
CPropExchange::ExchangeFontProp
스토리지 매체와 컨트롤 간에 글꼴 속성을 교환합니다.
virtual BOOL ExchangeFontProp(
LPCTSTR pszPropName,
CFontHolder& font,
const FONTDESC* pFontDesc,
LPFONTDISP pFontDispAmbient) = 0;
매개 변수
pszPropName
교환되는 속성의 이름입니다.
font
글꼴 속성을 포함하는 CFontHolder 개체에 대한 참조입니다.
pFontDesc
pFontDispAmbient가 NULL인 경우 글꼴 속성의 기본 상태를 초기화하기 위한 값을 포함하는 FONTDESC 구조체에 대한 포인터입니다.
pFontDispAmbient
글꼴 속성의 기본 상태를 초기화하는 데 사용할 글꼴 인터페이스에 대한 포인터 IFontDisp
입니다.
Return Value
교환에 성공한 경우 0이 아닌 경우 실패하면 0입니다.
설명
글꼴 속성이 중간에서 컨트롤로 로드되는 경우 글꼴의 특성이 매체에서 검색되고 CFontHolder
글꼴에서 참조하는 개체가 초기화됩니다. 글꼴 속성이 저장되는 경우 글꼴 개체의 특성이 매체에 기록됩니다.
함수 및 CArchivePropExchange::ExchangeFontProp
CResetPropExchange::ExchangeFontProp
CPropsetPropExchange::ExchangeFontProp
이 순수 가상 함수를 재정의합니다.
CPropExchange::ExchangePersistentProp
컨트롤과 파일 간에 속성을 교환합니다.
virtual BOOL ExchangePersistentProp(
LPCTSTR pszPropName,
LPUNKNOWN* ppUnk,
REFIID iid,
LPUNKNOWN pUnkDefault) = 0;
매개 변수
pszPropName
교환되는 속성의 이름입니다.
ppUnk
속성의 IUnknown
인터페이스에 대한 포인터를 포함하는 변수에 대한 포인터입니다(이 변수는 일반적으로 클래스의 멤버임).
iid
컨트롤에서 사용할 속성에 대한 인터페이스의 인터페이스 ID입니다.
pUnkDefault
속성의 기본값입니다.
Return Value
교환에 성공한 경우 0이 아닌 경우 실패하면 0입니다.
설명
속성이 파일에서 컨트롤로 로드되는 경우 속성이 만들어지고 파일에서 초기화됩니다. 속성이 저장되는 경우 해당 값은 파일에 기록됩니다.
함수 및 CArchivePropExchange::ExchangePersistentProp
CResetPropExchange::ExchangePersistentProp
CPropsetPropExchange::ExchangePersistentProp
이 순수 가상 함수를 재정의합니다.
CPropExchange::ExchangeProp
스토리지 매체와 컨트롤 간에 속성을 교환합니다.
virtual BOOL ExchangeProp(
LPCTSTR pszPropName,
VARTYPE vtProp,
void* pvProp,
const void* pvDefault = NULL) = 0 ;
매개 변수
pszPropName
교환되는 속성의 이름입니다.
vtProp
교환되는 속성의 형식을 지정하는 기호입니다. 가능한 값은 다음과 같습니다.
기호 | 속성 유형 |
---|---|
VT_I2 | short |
VT_I4 | long |
VT_BOOL | BOOL |
VT_BSTR | CString |
VT_CY | CY |
VT_R4 | float |
VT_R8 | double |
pvProp
속성 값에 대한 포인터입니다.
pvDefault
속성의 기본값에 대한 포인터입니다.
Return Value
교환에 성공한 경우 0이 아닌 경우 실패하면 0입니다.
설명
속성이 중간에서 컨트롤로 로드되는 경우 속성 값은 매체에서 검색되고 pvProp에서 가리키는 개체에 저장됩니다. 속성이 매체에 저장되는 경우 pvProp에서 가리키는 개체의 값이 매체에 기록됩니다.
함수 및 CArchivePropExchange::ExchangeProp
CResetPropExchange::ExchangeProp
CPropsetPropExchange::ExchangeProp
이 순수 가상 함수를 재정의합니다.
CPropExchange::ExchangeVersion
버전 번호의 지속성을 처리하기 위해 프레임워크에서 호출됩니다.
virtual BOOL ExchangeVersion(
DWORD& dwVersionLoaded,
DWORD dwVersionDefault,
BOOL bConvert);
매개 변수
dwVersionLoaded
로드되는 영구 데이터의 버전 번호가 저장되는 변수에 대한 참조입니다.
dwVersionDefault
컨트롤의 현재 버전 번호입니다.
bConvert
영구 데이터를 현재 버전으로 변환할지 아니면 로드된 동일한 버전에 유지할지 여부를 나타냅니다.
Return Value
함수가 성공한 경우 0이 아닌 경우 그렇지 않으면 0입니다.
CPropExchange::GetVersion
이 함수를 호출하여 컨트롤의 버전 번호를 검색합니다.
DWORD GetVersion();
Return Value
컨트롤의 버전 번호입니다.
CPropExchange::IsAsynchronous
속성 교환이 비동기적으로 수행되는지 여부를 결정합니다.
BOOL IsAsynchronous();
Return Value
속성이 비동기적으로 교환되면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
CPropExchange::IsLoading
이 함수를 호출하여 속성이 컨트롤에 로드되거나 컨트롤에서 저장되는지 여부를 확인합니다.
BOOL IsLoading();
Return Value
속성이 로드되는 경우 0이 아닌 경우 그렇지 않으면 0입니다.