COleControl::IsConvertingVBX

A specializzato il caricamento di un controllo OLE.

BOOL IsConvertingVBX( );

Valore restituito

Diverso da zero se il controllo sta convertendo, in caso contrario 0.

Note

Nel convertire un form che utilizza i controlli di VBX a uno dei controlli OLE, il codice speciale di carico per i controlli OLE può essere richiesto.Ad esempio, se si sta caricando un'istanza del controllo OLE, è possibile che una chiamata a PX_Font nel DoPropExchange:

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

Tuttavia, i comandi di VBX non dispongono di un oggetto di carattere, ogni proprietà del tipo di carattere è stata salvata singolarmente.In questo caso, si utilizza IsConvertingVBX per distinguere tra questi due casi:

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

Un altro caso sarebbe se il controllo di VBX salvasse i dati binari (privati nel gestore di messaggi VBM_SAVEPROPERTY e il controllo OLE salva i dati binari in formato diverso.Se si desidera che il controllo OLE per essere compatibile con le versioni precedenti con il controllo di VBX, è possibile leggere i formati precedente che nuovi utilizzando la funzione IsConvertingVBX distinguendo se il controllo di VBX il controllo o OLE viene caricato.

Nella funzione DoPropExchange del controllo, è possibile verificare questa condizione e se true, esegue codice di caricamento specifico a questa conversione (come negli esempi precedenti).Se il controllo non sta convertendo, è possibile eseguire il codice di caricamento normale.Questa possibilità è applicabile solo ai controlli che vengono convertiti da controparti di VBX.

Requisiti

Header: afxctl.h

Vedere anche

Riferimenti

Classe di COleControl

Grafico della gerarchia

COleControl::DoPropExchange