DISP_PROPERTY_PARAM

更新 : 2007 年 11 月

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

参照

概念

MFC マクロとグローバル

参照

DISP_PROPERTY_EX

その他の技術情報

ディスパッチ マップ