CWnd::OnDSCNotify

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

Valor devuelto

Devuelve TRUE si se ha controlado la operación representada por nReason y nState . De lo contrario, devuelve FALSE.

Parámetros

nState

Una de las constantes con nombre se encuentra en el enumerador DSCSTATE , que se enumeran en observaciones.

nReason

Una de las constantes con nombre se encuentra en el enumerador DSCREASON , que se enumeran en observaciones.

pBool

Una respuesta tipo Boolean que indica si se debe continuar la operación representada por nState y nReason.

Observaciones

La notificación de este receptor es llamada en respuesta a un evento que se desencadena un control de origen de datos cuando un control al que está enlazado el control de origen de datos modifica o intenta modificar el cursor subyacente. Utilícelo para atrapar razones (nReason) y los Estados (nState) generados por un control de origen de datos. Todas las combinaciones de los Estados y las razones son permitidas por defecto. Escribir el código para probar los Estados y las razones que son importantes para su aplicación y devuelven TRUE o FALSE según corresponda.

Para utilizar OnDSCNotify, declarar un mapa de receptores y un controlador para la notificación de receptor en el encabezado de la clase que desea recibir la notificación de receptor como sigue:

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

A continuación, en la implementación de la clase, definir el mapa de receptores y especificar la función de recibir los eventos siguientes:

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

La función de devolución de llamada de notificación, la implementación de OnDSCNotify, se llamará cuando se producen los eventos siguientes dentro del control de origen de datos:

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

Que se llamará también varias veces para cada uno de los siguientes Estados:

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

Varias llamadas permiten interceptar un evento en diferentes momentos. Por ejemplo, ya que normalmente se generan eventos en respuesta a la modificación del Estado del cursor por un control, lo primero que hará el control de origen de datos es desencadenar eventos preguntando si está bien hecho realizar esa acción; de ahí la razón para el estado de dscOKToDo . Si todos los clientes que supervise el evento (el control de datos, su aplicación y así sucesivamente) aceptan el caso, el control de origen de datos, a continuación, se moverá en el estado de dscSyncBefore , momento en el que todos los datos pendientes se vaciarán, si es necesario. Por ejemplo, si ha cambiado el contenido de un campo de edición, el cambio será comprometido con el cursor. Tras este evento, el control de origen de datos se mueve en los Estados dscAboutToDo y dscSyncAfter y finalmente en el estado de dscDidEvent . Éstos le dan más oportunidades para atrapar las notificaciones desde el control de origen de datos.

Visión General de CWnd |nbsp; Miembros de clase | Diagrama de jerarquía

Vea tambié&nnbsp;CWnd::GetDSCCursor, CWnd::BindDefaultProperty, CWnd::BindProperty

Index