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

請參閱

參考

CUtlProps 類別