Compartir a través de


COleControl::IsConvertingVBX

Allows especializado la carga de un control OLE.

BOOL IsConvertingVBX( );

Valor devuelto

Distinto de cero si el control está siendo convertido; si no 0.

Comentarios

Al convertir un formulario que utilice controles de VBX a uno que utilice controles OLE, el código especial de carga para controles OLE puede ser necesario.Por ejemplo, si está cargando una instancia de controles activex, podría tener una llamada a PX_Font en DoPropExchange:

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

Sin embargo, los controles de VBX no tienen un objeto de fuente; cada propiedad de fuente se guardó individualmente.En este caso, utilizaría IsConvertingVBX para diferenciar entre estos dos casos:

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);
}

Otro caso sería si el control de VBX guardado datos binarios propietarios (en el controlador de mensajes VBM_SAVEPROPERTY ), y el control OLE guardan los datos binarios en un formato diferente.Si desea que el control OLE para ser compatible con el control de VBX, podría leer los antiguos y nuevos formatos mediante la función de IsConvertingVBX distinguiendo si el control de VBX o control OLE era cargado.

En función de DoPropExchange del control, puede comprobar esta condición y si es true, se ejecuta específico del código de la carga en esta conversión (como los ejemplos anteriores).Si el control no lo convierte, puede ejecutar código de carga normal.Esta función solo es aplicable a los controles que se convierten de sus homólogos de VBX.

Requisitos

encabezado: afxctl.h

Vea también

Referencia

Clase de COleControl

Gráfico de jerarquía

COleControl::DoPropExchange