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


CUtlProps::OnPropertyChanged

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

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

Параметры

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

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

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

Стандартное HRESULT. Возвращаемое значение по умолчанию S_OK.

Заметки

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

Пример

В этой функции, пользователь получает идентификатор свойства из параметра 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