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