COleControl::IsConvertingVBX
OLE コントロールの割り当てによって特化された読み込み。
BOOL IsConvertingVBX( );
戻り値
コントロールが変換された場合、; それ以外の場合は 0。
解説
OLE コントロールを使用する 1 とおりに VBX コントロールを使用するフォームを変換するときは、OLE コントロールの特殊な読み込みコードが必要な場合があります。 たとえば、OLE コントロールのインスタンスを読み込む場合、の DoPropExchangeの PX_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 から変換されたコントロールにのみ適用されます。
必要条件
ヘッダー : afxctl.h