COleControl::IsConvertingVBX

允许专用OLE控件的填充。

BOOL IsConvertingVBX( );

返回值

非零,则控件的转换;否则为0。

备注

当转换使用VBX控件绑定到一个时使用OLE控件的窗体,可能需要OLE控件的特定代码加载。 例如,因此,如果加载您的OLE控件实例,您可能包含名为到您的 DoPropExchangePX_Font :

PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);

但是,VBX控件没有字体对象;每个字体属性分别保存起来。 在这种情况下,将使用 IsConvertingVBX 区分这两种情况之间:

if (!IsConvertingVBX())
{
   PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);
}
else
{
   PX_String(pPX, _T("FontName"), tempString, DefaultName);
   m_pMyFont->m_pFont->put_Name(tempString.AllocSysString());
   PX_Bool(pPX, _T("FontUnderline"), tempBool, DefaultValue);
   m_pMyFont->m_pFont->put_Underline(tempBool);
}

另一种情况是,如果您的VBX控件保存的所有权二进制数据(在其 VBM_SAVEPROPERTY 消息处理程序),并且,如果您的OLE控件保存其二进制数据以不同的格式。 如果希望的OLE控件与VBX控件实现向后兼容,您可以读取旧的和新的布局使用 IsConvertingVBX 函数来区分VBX控件或OLE控件是否加载。

在控件中 DoPropExchange 功能,可以检查此条件,如果为true,执行将代码加载特定于此转换(例如前面的示例)。 如果没有将控件,可以执行正常的负载代码。 此功能仅适用于从VBX重复转换的控件。

要求

Header: afxctl.h

请参见

参考

COleControl Class

层次结构图

COleControl::DoPropExchange