CUtlProps:: OnPropertyChanged

virtuale HRESULT OnPropertyChanged (ULONG iCurSet, DBPROP * pDBProp );

Valore restituito

Uno standard HRESULT. Il valore restituito predefinito è S_OK.

Parametri

iCurSet

L'indice nella matrice insieme di proprietà; zero se non c'è solo un set di proprietà.

pDBProp

L'ID della proprietà e il nuovo valore in un struttura DBPROP.

Osservazioni

Se si desidera gestire proprietà incatenata, come segnalibri o aggiornamenti, i cui valori dipendono dal valore della proprietà di un altro, si deve eseguire l'override di questa funzione. La MYPROV esempio viene illustrato come utilizzare OnPropertyChanged per gestire bookmarking.

Esempio

In questa funzione, l'utente ottiene l'ID della proprietà dalla DBPROP* parametro. Ora, è possibile confrontare l'ID contro una proprietà a catena. Quando la proprietà viene trovata, SetProperties viene chiamato con la proprietà che ora verrà impostata in combinato disposto con l'altra proprietà. In questo caso, se si ha la DBPROP_IRowsetLocate , DBPROP_LITERALBOOKMARKS , o DBPROP_ORDEREDBOOKMARKS Proprietà, si può impostare la DBPROP_BOOKMARKS Proprietà.

HRESULT OnPropertyChanged(ULONG iCurSet, DBPROP* pDBProp)
{
   ATLASSERT (pDBProp! = NULL);

DWORD dwPropertyID = pDBProp-gt; dwPropertyID;

Se (dwPropertyID = = DBPROP_IRowsetLocate | | 
      dwPropertyID = = DBPROP_LITERALBOOKMARKS | |
      dwPropertyID = = DBPROP_ORDEREDBOOKMARKS)
   {
      Var CComVariant = pDBProp - > vValue;

Se (var.boolVal = = VARIANT_TRUE)
      {
         / / Imposta la proprietà tra i preferiti come queste sono incatenate
         CComVariant bookVar(true);
         CDBPropSet set(DBPROPSET_ROWSET);
         impostare.AddProperty (DBPROP_BOOKMARKS, bookVar);

restituire SetProperties (1 e insieme);
      }
   }

restituisce S_OK;
}

Pa&noramica CUtlProps |nbsp; Membri della classe

Index