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