用分开的 Get 和 Set 成员函数定义属性访问。
DISP_PROPERTY_PARAM(theClass, pszExternalName, pfnGet, pfnSet, vtPropType, vtsParams )
参数
theClass
类名。pszExternalName
属性的外部名称。pfnGet
成员函数名用于获取属性。pfnSet
成员函数名用于设置属性。vtPropType
值指定属性类型。vtsParams
空格分隔 VTS_ 不同的参数类型的字符串,其中为每个参数。
备注
与 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 )
作为另一个示例,请考虑以下的 get 和 set 成员函数:
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