Sdílet prostřednictvím


CUtlProps::OnPropertyChanged

Nazývá se po nastavení vlastnosti, které chcete zpracovat vlastnosti zřetězené.

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

Parametry

  • iCurSet
    Index do pole sada vlastností; rovna nule, jestliže je nastavit pouze jednu vlastnost.

  • pDBProp
    ID vlastnosti a nové hodnoty v DBPROP struktury.

Vrácená hodnota

Standardní HRESULT.Ve výchozím nastavení vrátí hodnotu S_OK.

Poznámky

Tuto funkci byste měli přepsat, pokud chcete zpracovat vlastnosti zřetězenou, například záložky nebo aktualizace, které jsou závislé na hodnotě jiné vlastnosti, jejichž hodnoty.

Příklad

V této funkci uživatel získá vlastnost ID z DBPROP* parametr.Nyní je možné porovnat ID proti vlastnost na řetězec.Je-li vlastnost nalezena, SetProperties je volána s vlastnost bude nastavena ve spojení s další vlastnosti.V tomto případě získá jeden DBPROP_IRowsetLocate, DBPROP_LITERALBOOKMARKS, nebo DBPROP_ORDEREDBOOKMARKS vlastnost, jeden nastaven DBPROP_BOOKMARKS vlastnost.

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;
}

Požadavky

Záhlaví: atldb.h

Viz také

Referenční dokumentace

CUtlProps – třída