使用英语阅读

通过


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

请参见

参考

CUtlProps 类