CUtlProps::OnPropertyChanged

Chiamata dopo avere impostato una proprietà per gestire le proprietà concatenate.

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

Parametri

  • iCurSet
    Indice nella matrice set della proprietà; zero se c " è un solo insieme di proprietà.

  • pDBProp
    La proprietà ID e nuovo valore in una struttura di DBPROP .

Valore restituito

HRESULTstandard.Il valore restituito predefinito è S_OK.

Note

Se si desidera gestire proprietà concatenate, come segnalibri o aggiorna di chi valori dipendono da un altro valore della proprietà, è necessario eseguire l'override della funzione.

Esempio

In questa funzione, consumer ottiene la proprietà ID dal parametro di DBPROP* .Attualmente, è possibile confrontare l'ID a una proprietà per concatenare.Quando la proprietà viene trovata, SetProperties viene chiamato con la proprietà che verrà impostata con l'altra proprietà.In questo caso, si ne ottiene DBPROP_IRowsetLocate, DBPROP_LITERALBOOKMARKS, o la proprietà di DBPROP_ORDEREDBOOKMARKS , una possibile impostare la proprietà di 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;
}

Requisiti

Header: il file

Vedere anche

Riferimenti

Classe CUtlProps