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