CUtlProps::OnPropertyChanged
对设置属性后处理绑定的属性。
virtual HRESULT OnPropertyChanged(
ULONG /* iCurSet */,
DBPROP* pDBProp
);
iCurSet
索引到属性集数组中;零,如果只有设置的属性。pDBProp
属性 ID 和新值在 DBPROP 结构。
标准 HRESULT。 默认值返回值是 S_OK。
如果希望处理链接的属性,例如值依赖于另一个属性值的书签或更新,应重写此功能。
此功能,用户从 DBPROP* 参数获取属性 ID。 现在,为属性比较 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;
}
Header: atldb.h