CUtlProps::OnPropertyChanged

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

Valor de retorno

Um padrão HRESULT. O valor de retorno padrão é S_OK.

Parâmetros

iCurSet

O índice para a matriz de conjunto de propriedades; zero se não existe apenas uma propriedade definida.

pDBProp

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

Observações

Se você deseja manipular propriedades encadeadas, como marcadores ou atualizações cujos valores são dependentes de um outro valor propriedade, você deve substituir essa função. O MYPROV exemplo demonstra como usar OnPropertyChanged para lidar com bookmarking.

Exemplo

Nessa função, o usuário obtém a ID de propriedade da DBPROP* parâmetro. Agora, é possível comparar o ID contra uma propriedade de cadeia. Quando a propriedade for localizada, SetProperties é chamado com a propriedade que agora será definida em conjunto com a propriedade de outro. Neste caso, se obtém o DBPROP_IRowsetLocate , DBPROP_LITERALBOOKMARKS , ou DBPROP_ORDEREDBOOKMARKS propriedade, que um pode definir a DBPROP_BOOKMARKS propriedade.

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

DWORD dwPropertyID = pDBProp-gt; dwPropertyID;

se (dwPropertyID = = DBPROP_IRowsetLocate | | 
      dwPropertyID = = DBPROP_LITERALBOOKMARKS | |
      dwPropertyID = = DBPROP_ORDEREDBOOKMARKS)
   {
      CComVariant var = pDBProp - > vValue;

se (var.boolVal = = VARIANT_TRUE)
      {
         / / Definir a propriedade de marcadores como estas são encadeadas
         CComVariant bookVar(true);
         CDBPropSet set(DBPROPSET_ROWSET);
         Defina.AddProperty (DBPROP_BOOKMARKS, bookVar);

retornar SetProperties (1, & Definir);
      }
   }

retornar S_OK;
}

Visão geral de CUtlProps |  Membros de classe

Index