次の方法で共有


DISP_PROPERTY_PARAM

Get メンバー関数と Set メンバー関数でアクセスするプロパティを定義します。

DISP_PROPERTY_PARAM(theClass, pszExternalName, pfnGet, pfnSet, vtPropType, vtsParams )

パラメーター

  • theClass
    クラス名。

  • pszExternalName
    プロパティの外部名。

  • pfnGet
    プロパティを取得するために使用するメンバー関数名。

  • pfnSet
    プロパティを設定するために使用するメンバー関数名。

  • vtPropType
    プロパティの型を指定する値。

  • vtsParams
    スペースで区切られた VTS_ バリアント パラメーター型の文字列。パラメーターごとに 1 つ指定します。

解説

DISP_PROPERTY_EX マクロとは異なり、このマクロではプロパティのパラメーター リストを指定できます。 これは、インデックス付けされたプロパティやパラメーター化されたプロパティを実装する場合に便利です。

使用例

次の Get メンバー関数と Set メンバー関数の宣言を例に取ります。この宣言では、プロパティにアクセスするときに、特定の行と列をユーザーが指定できます。

SHORT GetArray(SHORT row, SHORT column);
void SetArray(SHORT row, SHORT column, SHORT newVal);

これらは、次に示すコントロール ディスパッチ マップの DISP_PROPERTY_PARAM マクロと対応しています。

DISP_PROPERTY_PARAM(CMFCActiveXControlCtrl, "Array", GetArray, SetArray, VT_I2, VTS_I2 VTS_I2 )

別の例として、次の取得関数と設定関数を考えます。

IDispatch* GetItem(SHORT index1, SHORT index2, SHORT index3);
void SetItem(SHORT index1, SHORT index2, SHORT index3, IDispatch* pVal);

これらは、次に示すコントロール ディスパッチ マップの DISP_PROPERTY_PARAM マクロと対応しています。

DISP_PROPERTY_PARAM(CMFCActiveXControlCtrl, "Item", GetItem, SetItem, VT_DISPATCH, VTS_I2 VTS_I2 VTS_I2)

必要条件

**ヘッダー:**afxdisp.h

参照

参照

DISP_PROPERTY_EX

概念

MFC マクロとグローバル

その他の技術情報

ディスパッチ マップ