DISP_PROPERTY_PARAM

DISP_PROPERTY_NOTIFY ( [クラス], pszExternalName, pfnGet, pfnSet, vtPropType, 「vtsParams

# を含める lt;afxdisp.h >

パラメーター

[クラス]

クラスの名前。

pszExternalName

プロパティの外部名。

pfnGet

プロパティを取得に使用するメンバー関数の名前。

pfnSet

プロパティを設定に使用するメンバー関数の名前。

vtPropType

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

「vtsParams

スペースで区切ったvts _バリアント型パラメーターの型、パラメーターごとに 1 つの文字列。

解説

このマクロでは、別の取得し、設定メンバー関数にアクセスするプロパティを定義します。DISP_PROPERTY_EXマクロとは異なり、このマクロのパラメーター リストのプロパティを指定することができます。これは、インデックスまたはパラメーター化されたプロパティを実装するために便利です。

たとえば、次の get 宣言を検討し、メンバー関数は、特定の行と列のプロパティにアクセスするときを要求するユーザーを許可する設定:

 afx_msg 短い GetArray (短い行、短柱);afx_msg 短い SetArray (短い行、短柱、短い nNewValue)

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

DISP_PROPERTY_PARAM (CMyCtrl、SetArray、VT-I2 は、VTS_I2 VTS_I2 の「配列」GetArray、)

別の例としては、次を取得関数と設定関数を検討します。:

LPDISPATCH CMyObject::GetItem(short index1, short index2, short index3);CMyObject::SetItem (短い index1、短い index2、短い向け、LPDISPATCH newValue) が無効します。

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

DISP_PROPERTY_PARAM (いる CMyObject、「アイテム」GetItem、SetItem VT_DISPATCH、特価;VTS_I2 VTS_I2 VTS_I2)(&N)

参照特価;ディスパッチ マップDISP_PROPERTY _EX(&N)

Index