virtuelle OnPropertyChanged HRESULT (ULONG iCurSet, DBPROP * pDBProp );
Rückgabewert
Eine standard- HRESULT. Der Standardwert Rückgabewert ist S_OK.
Parameter
iCurSet
Der Index in der Array Eigenschaftensatz; 0 (null), wenn nur eine Eigenschaft festgelegt.
pDBProp
Die Eigenschaften-ID und den neuen Wert in ein DBPROP -Struktur.
Bemerkungen
Wenn Sie verkettete Eigenschaften, z. B. Lesezeichen oder deren Werte abhängig von einer anderen Eigenschaft-Wert, sind Updates behandeln möchten, sollten Sie diese Funktion überschreiben. Die MYPROV -Beispiel veranschaulicht, wie mithilfe von OnPropertyChanged Lesezeichen behandeln.
Beispiel
In dieser Funktion erhält der Benutzer die Eigenschaft-ID aus der DBPROP* Parameter. Jetzt ist es möglich, die ID gegen eine Eigenschaft, um die Kette zu vergleichen. Wenn die Eigenschaft gefunden wird, SetProperties wird aufgerufen, mit der Eigenschaft, die jetzt in Verbindung mit der anderen Eigenschaft festgelegt wird. In diesem Fall, wenn man die DBPROP_IRowsetLocate , DBPROP_LITERALBOOKMARKS , oder DBPROP_ORDEREDBOOKMARKS , man kann Eigenschaftensatz die DBPROP_BOOKMARKS Eigenschaft.
HRESULT OnPropertyChanged(ULONG iCurSet, DBPROP* pDBProp)
{
ATLASSERT (pDBProp! = NULL);
DWORD DwPropertyID = pDBProp-Gt; DwPropertyID;
Wenn (DwPropertyID == DBPROP_IRowsetLocate ||
DwPropertyID == DBPROP_LITERALBOOKMARKS ||
DwPropertyID == DBPROP_ORDEREDBOOKMARKS)
{
CComVariant Var = pDBProp - > vValue;
Wenn (var.boolVal == VARIANT_TRUE)
{
/ / Die Bookmarks-Eigenschaft festlegen, wie diese verkettet werden
CComVariant bookVar(true);
CDBPropSet set(DBPROPSET_ROWSET);
festgelegt.AddProperty (DBPROP_BOOKMARKS, BookVar);
SetProperties zurück (1, & Set);
}
}
Gibt S_OK zurück.
}