CUtlProps::OnPropertyChanged

virtuelle OnPropertyChanged de HRESULT (ULONG iCurSet, DBPROP * pDBProp );

Valeur de retour

Un standard de HRESULT. La valeur par défaut est S_OK.

Paramètres

iCurSet

L'index dans le tableau d'ensemble de la propriété ; zéro s'il n'y a qu'une seule propriété a la valeur.

pDBProp

La propriété ID et la nouvelle valeur dans un structure DBPROP.

Remarques

Si vous souhaitez gérer des propriétés chaînées, tels que les signets ou les mises à jour dont les valeurs dépendent de la valeur de la propriété à une autre, vous devez substituer cette fonction. La exemple MyProv montre comment utiliser OnPropertyChanged pour gérer les signets.

Exemple

Dans cette fonction, l'utilisateur obtient l'ID de la propriété de la DBPROP* paramètre. Maintenant, il est possible de comparer l'ID contre une propriété de chaîne. Lorsque la propriété est introuvable, SetProperties est appelé avec la propriété qui sera maintenant mises en liaison avec les autres biens. Dans ce cas, si on obtient le DBPROP_IRowsetLocate , DBPROP_LITERALBOOKMARKS , ou DBPROP_ORDEREDBOOKMARKS bien, on peut définir la DBPROP_BOOKMARKS biens.

HRESULT OnPropertyChanged(ULONG iCurSet, DBPROP* pDBProp)
{
   ATLASSERT (pDBProp! = NULL) ;

DWORD dwPropertyID = gt-pDBProp ; dwPropertyID ;

Si (dwPropertyID == DBPROP_IRowsetLocate || 
      dwPropertyID == DBPROP_LITERALBOOKMARKS ||
      dwPropertyID == DBPROP_ORDEREDBOOKMARKS)
   {
      CComVariant var = pDBProp - > vValue ;

Si (var.boolVal == valeur VARIANT_TRUE)
      {
         / / Définissez la propriété de signets comme elles sont chaînées
         CComVariant bookVar(true) ;
         CDBPropSet set(DBPROPSET_ROWSET) ;
         ensemble.AddProperty (DBPROP_BOOKMARKS, bookVar) ;

retour SetProperties (1, & jeu) ;
      }
   }

return S_OK ;
}

Aperçu CUtlProps |  ; Membres de classe

Index