DISP_PROPERTY_PARAM
Définit une propriété accessible avec Obtenir distinct et les fonctions membres d' Set .
DISP_PROPERTY_PARAM(theClass, pszExternalName, pfnGet, pfnSet, vtPropType, vtsParams )
Paramètres
theClass
Nom de la classe.pszExternalName
Nom externe de la propriété.pfnGet
Nom de la fonction membre utilisée pour obtenir la propriété.pfnSet
Le nom de la fonction membre définissait la propriété.vtPropType
Une valeur spécifiant le type de propriété.vtsParams
Une chaîne de types variant espace-séparés de paramètre de VTS_ , un pour chaque paramètre.
Notes
Contrairement à la macro d' DISP_PROPERTY_EX , cette macro permet de spécifier une liste de paramètres pour la propriété.Ceci est utile pour implémenter des propriétés qui sont indexées ou paramétrées.
Exemple
Considérons la déclaration suivante get et les fonctions membres définies qui permettent à l'utilisateur de demander une ligne et une colonne spécifiques en accédant à la propriété :
SHORT GetArray(SHORT row, SHORT column);
void SetArray(SHORT row, SHORT column, SHORT newVal);
Ils correspondent à la macro suivante d' DISP_PROPERTY_PARAM dans la table de dispatch de contrôle :
DISP_PROPERTY_PARAM(CMFCActiveXControlCtrl, "Array", GetArray, SetArray, VT_I2, VTS_I2 VTS_I2 )
Comme autre exemple, prenez le get suivant et les fonctions membres définies :
IDispatch* GetItem(SHORT index1, SHORT index2, SHORT index3);
void SetItem(SHORT index1, SHORT index2, SHORT index3, IDispatch* pVal);
Ils correspondent à la macro suivante d' DISP_PROPERTY_PARAM dans la table de dispatch de contrôle :
DISP_PROPERTY_PARAM(CMFCActiveXControlCtrl, "Item", GetItem, SetItem, VT_DISPATCH, VTS_I2 VTS_I2 VTS_I2)
Configuration requise
Header: afxdisp.h