Article ID: 138866
Article Last Modified on 12/2/2003
// MANUAL CONTROL OF MAKING Caption PERSISTANT.
// To test the initialization of the caption stock property
// replace the circle3 samples DoPropExchange function with the
// following version.
// These #defines can be found in the ..\Msvc20\Cdk32\Src\Ctlprop.cpp
// file and are given here to remove the need to continually track them
// down. In the code, only STOCKPROP_CAPTION is used.
#define STOCKPROP_BACKCOLOR 0x00000001
#define STOCKPROP_CAPTION 0x00000002
#define STOCKPROP_FONT 0x00000004
#define STOCKPROP_FORECOLOR 0x00000008
#define STOCKPROP_TEXT 0x00000010
#define STOCKPROP_BORDERSTYLE 0x00000020
#define STOCKPROP_ENABLED 0x00000040
void CCirc3Ctrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
BOOL bLoading = pPX->IsLoading();
CString strText;
if (!bLoading)
strText = InternalGetText();
PX_String(pPX,_T("Caption"),strText,_T("Caption"));
if (bLoading) {
TRY
SetText(strText);
END_TRY
}
// Mask out the Caption stock property before
// calling the base class functionality.
m_dwStockPropMask &= ~STOCKPROP_CAPTION;
// Call the base class.
COleControl::DoPropExchange(pPX);
// Mask the Caption property bit back in to minimize
// possible side effects.
m_dwStockPropMask |= STOCKPROP_CAPTION;
if (pPX->GetVersion() == (DWORD)MAKELONG(_wVerMinor, _wVerMajor))
{
PX_Bool(pPX, _T("CircleShape"), m_circleShape, TRUE);
PX_Short(pPX, _T("CircleOffset"), m_circleOffset, 0);
PX_Long(pPX, _T("FlashColor"), (long &)m_flashColor,
RGB(0xFF, 0x00, 0x00));
PX_String(pPX, _T("Note"), m_note, _T("Note"));
}else if (pPX->IsLoading()) {
m_circleShape = TRUE;
m_circleOffset = 0;
m_flashColor = RGB(0xFF, 0x00, 0x00);
m_note = _T("");
}
}
Additional query words: 2.00 2.10 2.20 3.0 3.1 3.2 3.00 3.10 3.20 4.00 4.10 cdk ocx initialize
Keywords: kbhowto kbctrlcreate kbcode KB138866