DISP_PROPERTY_PARAM

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

#include <afxdisp.h>

参数:
theClass类的名字。
pszExternalName属性的外部名字。
pfnGet用于获取属性的成员函数名。
pfnSet用于设置属性的成员函数名。
vtPropType指定属性类型的值。
vtsParams用空格分隔的VTS_变量参数类型字符串,每一个代表一个参数。

说明:
这个宏定义了分别用Get和Set成员函数访问的属性。与DISP_PROPERTY_EX宏不同,这个宏允许你为属性指定一个参数列表。这在实现具有索引或参数的属性时非常有用。
例如,考虑下面对get和set成员函数的声明,它允许用户在访问属性的时候指定行和列:
afx_msg short GetArray(short row, short column);
afx_msg short SetArray(short row, short column, short nNewValue);
这些与控制的调度映射中的DISP_PROPERTY_PARAM宏相对应:
DISP_PROPERTY_PARAM(CMyCtrl, "Array", GetArray, SetArray, VT_I2, VTS_I2 VTS_I2)
另一个例子,考虑下面的get和set成员函数:
LPDISPATCH CMyObject::GetItem(short index1, short index2, short index3);
void CMyObject::SetItem(short index1, short index2, short index3, LPDISPATCHnewValue);
这些与控制的调度映射中的DISP_PROPERTY_PARAM宏相对应:
DISP_PROPERTY_PARAM( CMyObject, "item", GetItem, SetItem, VT_DISPATCH, VTS_I2 VTS_I2 VTS_I2 )

请参阅:调度映射, DISP_PROPERTY_EX