调用控件的 DoPropExchange 成员函数内此功能通过将 VBX 控件的字体相关的属性初始化字体属性。
BOOL PX_VBXFontConvert(
CPropExchange* pPX,
CFontHolder& font
);
参数
pPX
为 CPropExchange 对象的指针 (通常通过作为参数传递给 DoPropExchange)。font
将包含已转换的 VBX 字体相关属性 OLE 控件的字体属性。
返回值
非零,则这种替换成功;0,如果不成功。
备注
应被设计为 VBX 控件的直接替换的 OLE 控件仅使用此功能。尽管 Visual Basic 开发环境转换包含 VBX 控件的窗体使用相应的替换 OLE 控件,它将调用控件的 IDataObject::SetData 功能,通过在包含 VBX 控件的属性数据设置的属性。此操作,因此,使控件的 DoPropExchange 函数调用。DoPropExchange 可以调用 PX_VBXFontConvert 转换 VBX 控件的字体相关的属性 (例如, “FontName,” FontSize,”等) 转换为 OLE 控件的字体属性对应的元素。
PX_VBXFontConvert ,当控件从 VBX 窗体应用程序时,实际上将只应调用。例如:
void CMFCActiveXControlCtrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX);
if (IsConvertingVBX())
PX_VBXFontConvert(pPX, InternalGetFont());
...
}
要求
Header: afxctl.h