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