CWnd::OnDSCNotify

afx_msg BOOL OnDSCNotify (DSCSTATE nState, DSCREASON nReason, BOOL pBool );

Valor de retorno

Retorna TRUE se a operação representada por nReason e nState foi tratada. Caso contrário, retorna FALSE.

Parâmetros

nState

Uma das constantes nomeadas encontrados no enumerador DSCSTATE , que estão indicadas nas observações.

nReason

Uma das constantes nomeadas encontrados no enumerador DSCREASON , que estão indicadas nas observações.

pBool

Uma resposta booleana indicando se deve continuar a operação representada por nState e nReason.

Observações

Esta notificação de coletor é chamada em resposta a um evento que um controle de fonte de dados é acionado quando um controle para o qual o controle de fonte de dados é vinculado modifica ou tenta modificar o cursor subjacente. Usá-lo para interceptar razões (nReason) e Estados (nState) gerados por um controle de fonte de dados. Todas as combinações de Estados-Membros e razões são permitidas por padrão. Escreva seu código para testar os Estados e as razões que são importantes para o seu aplicativo e retornam TRUE ou FALSE conforme apropriado.

Para usar OnDSCNotify, declare um mapa do coletor e um manipulador para a notificação de coletor no cabeçalho da classe que pretende receber a notificação de coletor como segue:

classe CMyDlg: público CDialog
{
   ...
   DECLARE_EVENTSINK_MAP()
   BOOL OnDSCNotify(DSCSTATE nState,
             DSCREASON nReason, BOOL * pBool);
   ...
}

Em seguida, na implementação de sua classe, definir o mapa de coletor e especifique a função para receber os eventos da seguinte forma:

BEGIN_EVENTSINK_MAP (CMyDlg, CDialog)
   ON_DSCNOTIFY (CMyDlg, IDC_RDCCTRL1, OnDSCNotify)
END_EVENTSINK_MAP()

A função callback notificação, sua implementação de OnDSCNotify, será chamada quando os seguintes eventos ocorrem dentro do controle de fonte de dados:

enum DSCREASON
{
   dscNoReason = 0,
   dscClose, dscCommit, dscDelete,
   dscEdit, dscInsert, dscModify, dscMove
}

Ele também será chamado várias vezes para cada um dos seguintes Estados:

enum DSCSTATE
{
   dscNoState = 0,
   dscOKToDo,
   dscCancelled,
   dscSyncBefore,
   dscAboutToDo,
   dscFailedToDo,
   dscSyncAfter,
   dscDidEvent
}

Múltiplo chamadas permitem que você aplicar trapping a um evento em momentos diferentes. Por exemplo, uma vez que eventos são geralmente gerados em resposta à modificação do Estado de cursor por um controle, a primeira coisa que irá fazer o controle de fonte de dados é acionar eventos perguntando se está tudo bem para realmente executar essa ação; Daí a razão para o estado de dscOKToDo . Se todos os clientes que monitoram o evento (o Controlarar de dados, seu aplicativo e assim por diante) aceitam o evento, o controle de fonte de dados, em seguida, passarão para o estado de dscSyncBefore , no momento em que todos os pendentes dados serão liberados, se necessário. Por exemplo, se o conteúdo de um campo de edição foi alterado, a alteração será comprometida com o cursor. Após este evento, o controle de fonte de dados move-se para os Estados de dscAboutToDo e dscSyncAfter e finalmente para o estado de dscDidEvent . Esses recursos fornecem mais oportunidades para capturar as notificações de Controlarar de fonte de dados.

|&Nbsp CWnd visão geral ; Membros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;CWnd::GetDSCCursor, CWnd::BindDefaultProperty, CWnd::BindProperty

Index