Поделиться через


CUtlProps::OnPropertyChanged

Вызывается после задания свойства в маркер приковал свойства.

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

Параметры

  • iCurSet
    Индекс в массиве набора свойств. нуль, если только один набор свойств.

  • pDBProp
    Идентификатор свойства и новое значение структуры DBPROP.

Возвращаемое значение

Стандартное HRESULT.По умолчанию возвращаемое значение S_ОК.

Заметки

Если необходимо обработать цепного свойства, то в качестве закладки или обновляет чей значения зависят от другого значения свойства можно переопределить эту функцию.

Пример

В этой функции пользователь получает идентификатор свойства из параметра DBPROP*.Теперь можно сравнить идентификатор для свойства для привязан.Если свойство найдено, вызывается SetProperties со свойством, теперь будет установлена вместе с другим свойством.В этом случае, если она получает DBPROP_IRowsetLocate, DBPROP_LITERALBOOKMARKS или свойство DBPROP_ORDEREDBOOKMARKS, то он может задать свойство 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;
}

Требования

Header: atldb.h

См. также

Ссылки

Класс CUtlProps