Partilhar 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 ID de propriedade e o novo valor em um DBPROP estrutura.

Valor de retorno

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

Comentários

Se você desejar manipular propriedades encadeadas, tais sistema autônomo marcadores ou atualizações cujos valores são dependentes de valor da propriedade, você deve substituir essa função.

Exemplo

Nessa função, o usuário obtém a ID de propriedade do DBPROP* parâmetro. Agora, é possível comparar a ID em relação a uma propriedade para a cadeia.Quando a propriedade for encontrado, SetProperties é chamado com a propriedade agora será definida em conjunto com Outros propriedade. Nesse caso, se um obtém o DBPROP_IRowsetLocate, DBPROP_LITERALBOOKMARKS, ou DBPROP_ORDEREDBOOKMARKS propriedade, um pode conjunto o 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

Outros recursos

CUtlProps membros