Compartilhar via


CUtlProps::OnPropertyChanged

Chamado depois de definir uma propriedade para manipular propriedades encadeadas.

virtual HRESULT OnPropertyChanged(
   ULONG /* iCurSet */,
   DBPROP* pDBProp 
);

Parâmetros

  • iCurSet
    O índice da matriz de conjunto de propriedades; Se houver apenas uma propriedade conjunto de zero.

  • pDBProp
    A identificação de propriedade e o novo valor em uma DBPROP estrutura.

Valor de retorno

Um padrão HRESULT.O padrão retornar valor é S_OK.

Comentários

Se você deseja manipular propriedades encadeadas, como marcadores ou atualizações cujos valores são dependentes do valor da propriedade, você deve substituir essa função.

Exemplo

Nesta função, o usuário obtém a ID de propriedade da DBPROP* parâmetro.Agora, é possível comparar a identificação em relação a uma propriedade de cadeia.Quando a propriedade for encontrada, SetProperties é chamado com a propriedade agora será definida em conjunto com outra propriedade.Nesse caso, se um obtém o DBPROP_IRowsetLocate, DBPROP_LITERALBOOKMARKS, ou DBPROP_ORDEREDBOOKMARKS propriedade, um conjunto de DBPROP_BOOKMARKS propriedade.

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;
}

Requisitos

Cabeçalho: atldb.h

Consulte também

Referência

Classe CUtlProps