次の方法で共有


COleControl::IsConvertingVBX

OLE コントロールの割り当てによって特化された読み込み。

BOOL IsConvertingVBX( );

戻り値

コントロールが変換された場合、; それ以外の場合は 0。

解説

OLE コントロールを使用する 1 とおりに VBX コントロールを使用するフォームを変換するときは、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 から変換されたコントロールにのみ適用されます。

必要条件

ヘッダー : afxctl.h

参照

関連項目

COleControl クラス

階層図

COleControl::DoPropExchange