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