CUtlProps::OnPropertyChanged
設定屬性來處理鍊結的屬性之後呼叫。
virtual HRESULT OnPropertyChanged(
ULONG /* iCurSet */,
DBPROP* pDBProp
);
參數
iCurSet
陣列中的索引屬性集。 如果只有一個屬性集,則為零。pDBProp
屬性 ID 和新的值,在 DBPROP 結構。
傳回值
一種標準HRESULT。 預設傳回值是S_OK。
備註
如果您想要處理鍊結的屬性,例如書籤和更新其值為相依於另一個屬性的值,您應該覆寫這個函式。
範例
在這個函式,使用者可以獲得來自屬性 ID DBPROP*參數。 現在,就可以比較依至鏈結的屬性 ID。 找到的屬性時, 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;
}
需求
標頭: atldb.h