CUtlProps::OnPropertyChanged
Wird aufgerufen, nachdem dem Festlegen einer Eigenschaft, um zu behandeln, verketteten Eigenschaften.
virtual HRESULT OnPropertyChanged(
ULONG /* iCurSet */,
DBPROP* pDBProp
);
Parameter
iCurSet
Der Index im Eigenschaftensatzarray; null wenn nur einen Eigenschaftensatz gibt.pDBProp
Die Eigenschaften-ID und der neue Wert in DBPROP eine Struktur.
Rückgabewert
Standard- HRESULT. Der Standardrückgabewert ist S_OK.
Hinweise
Wenn Sie Eigenschaften verkettete behandeln, wie Lesezeichen oder aktualisiert, deren Werte aus einem anderen Eigenschaft abhängig sind, sollten Sie diese Funktion beibehalten.
Beispiel
In dieser Funktion ruft der Benutzer die vom DBPROP*-Parameter mehrmals ab. Jetzt ist es möglich, die ID für eine Eigenschaft zu vergleichen, um zu verketten. Wenn die Eigenschaft gefunden wird, wird SetProperties mit der Eigenschaft aufgerufen, die jetzt in Verbindung mit der anderen Eigenschaft festgelegt wird. In diesem Fall wird DBPROP_IRowsetLocate, DBPROP_LITERALBOOKMARKS oder DBPROP_ORDEREDBOOKMARKS-Eigenschaft abruft, kann der DBPROP_BOOKMARKS-Eigenschaft festlegen.
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;
}
Anforderungen
Header: atldb.h