コントロールの DoPropExchange メンバー関数内からこの関数を呼び出して、VBX コントロールのフォント関連プロパティを変換することでフォント プロパティを初期化します。
BOOL PX_VBXFontConvert(
CPropExchange* pPX,
CFontHolder& font
);
パラメーター
pPX
CPropExchange オブジェクトへのポインター。通常は DoPropExchange にパラメーターとして渡されます。font
変換される VBX のフォント関連プロパティを持つ OLE コントロールのフォント プロパティ。
戻り値
交換できた場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
この関数は、VBX コントロールの直接置換としてデザインされた OLE コントロールでのみ使われます。 Visual Basic の開発環境では、対応する置換 OLE コントロールを使用するために、VBX コントロールが含まれたフォームが変換されます。その際、コントロールの IDataObject::SetData 関数が呼び出されて、VBX コントロールのプロパティ データを保持するプロパティ セットに渡されます。 これにより、コントロールの DoPropExchange 関数が呼び出されます。 DoPropExchange は PX_VBXFontConvert を呼び出して、VBX コントロールのフォント関連プロパティ ("FontName," "FontSize," など) を、OLE コントロールのフォント プロパティの対応するコンポーネントに変換します。
PX_VBXFontConvert は、コントロールが VBX フォーム アプリケーションから実際に変換されるときにのみ呼び出されます。 次に例を示します
void CMFCActiveXControlCtrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX);
if (IsConvertingVBX())
PX_VBXFontConvert(pPX, InternalGetFont());
...
}
必要条件
**ヘッダー:**afxctl.h