CUtlProps::OnPropertyChanged

Se llama después de establecer una propiedad para controlar propiedades vinculadas.

virtual HRESULT OnPropertyChanged(
   ULONG /* iCurSet */,
   DBPROP* pDBProp 
);

Parámetros

  • iCurSet
    El índice de la matriz propiedad-establecido; cero si solo hay un conjunto de propiedades.

  • pDBProp
    El identificador de la propiedad y el nuevo valor en una estructura de DBPROP .

Valor devuelto

HRESULTestándar.El valor devuelto predeterminado es S_OK.

Comentarios

Si desea controlar propiedades vinculadas, como marcadores o actualiza cuya configuración dependen del valor de otra propiedad, debe invalidar esta función.

Ejemplo

En esta función, el usuario obtiene el identificador de propiedad del parámetro de DBPROP* .Ahora, es posible comparar el identificador con una propiedad string.Cuando se encuentra la propiedad, SetProperties lleva la propiedad que se estableció junto con otra propiedad.En este caso, si uno obtiene DBPROP_IRowsetLocate, DBPROP_LITERALBOOKMARKS, o la propiedad de DBPROP_ORDEREDBOOKMARKS , una puede establecer la propiedad de DBPROP_BOOKMARKS .

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

   DWORD dwPropertyID = pDBProp->dwPropertyID;

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

      if (var.boolVal == VARIANT_TRUE)
      {
         // Set the bookmarks property as these are chained
         CComVariant bookVar(true);
         CDBPropSet set(DBPROPSET_ROWSET);
         set.AddProperty(DBPROP_BOOKMARKS, bookVar);

         return SetProperties(1, &set);
      }
   }

   return S_OK;
}

Requisitos

Header: atldb.h

Vea también

Referencia

CUtlProps (Clase)