CUtlProps::OnPropertyChanged

віртуальний HRESULT OnPropertyChanged (ULONG iCurSet, DBPROP * pDBProp );

Значення, яке повертається

Стандартний HRESULT. Повернути значення за замовчуванням — S_OK.

Параметри

iCurSet

Індекс масиву набір властивостей; нуль, якщо є тільки одним властивістю набір.

pDBProp

КОД і нове значення у DBPROP структури.

Зауваження

Якщо ви хочете, щоб впоратися ланцюгових властивості, такі як закладки або оновлення, значення якого залежать від значення іншого майна, повинна пересилити цю функцію. На MYPROV приклад демонструє, як використовувати OnPropertyChanged для обробки закладок.

Приклад

У цієї функції, користувач отримує майно ID від в DBPROP* параметр. Тепер є можливість порівняти ID проти майно, в ланцюжку. Коли знайдено властивість, SetProperties називається з майном, яке тепер будуть використовувати в поєднанні з іншого майна. У цьому випадку, якщо один отримує на DBPROP_IRowsetLocate , DBPROP_LITERALBOOKMARKS , або DBPROP_ORDEREDBOOKMARKS нерухомості, один можна встановити на DBPROP_BOOKMARKS власності.

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

DWORD dwPropertyID = pDBProp gt; dwPropertyID;

Якщо (dwPropertyID = = DBPROP_IRowsetLocate | | 
      dwPropertyID = = DBPROP_LITERALBOOKMARKS | |
      dwPropertyID = = DBPROP_ORDEREDBOOKMARKS)
   {
      CComVariant var = pDBProp - > vValue;

Якщо (var.boolVal = = VARIANT_TRUE)
      {
         / / Встановити властивості закладки, як ці ланцюгові
         CComVariant bookVar(true);
         CDBPropSet set(DBPROPSET_ROWSET);
         набір.AddProperty (DBPROP_BOOKMARKS, bookVar);

повернення SetProperties (1 і встановити);
      }
   }

повернення S_OK;
}

Огляд CUtlPropsЧлени класу

Index