Compartir a través de


Cómo procesar notificaciones del selector de fecha y hora

En esta sección se muestra cómo procesar las notificaciones del selector de fecha y hora.

Lo que necesita saber

Tecnologías

Requisitos previos

  • C/C++
  • Programación de la interfaz de usuario de Windows

Instrucciones

Un control selector de fecha y hora (DTP) envía mensajes de notificación a la ventana primaria cuando los eventos, normalmente desencadenados por la entrada del usuario, se producen en el control . La aplicación debe incluir código para determinar el tipo de mensaje de notificación y responder adecuadamente.

Si tiene previsto usar campos de devolución de llamada con los controles DTP de la aplicación, debe estar preparado para controlar los códigos de notificación de DTN_FORMATQUERY, DTN_FORMAT y DTN_WMKEYDOWN . Para más información sobre los campos de devolución de llamada, consulte Campos de devolución de llamada.

El siguiente ejemplo de código de C++ identifica el mensaje de notificación enviado por un control DTP y llama a la función definida por la aplicación adecuada. Consulte los temas siguientes para ver ejemplos de código que muestran cómo procesar las notificaciones que aparecen en este ejemplo.

Temas
Cómo procesar la notificación de DTN_DATETIMECHANGE
Cómo procesar la notificación de DTN_FORMATQUERY
Cómo procesar la notificación de DTN_FORMAT
Cómo procesar la notificación de DTN_WMKEYDOWN

 

BOOL WINAPI DoNotify(HWND hwnd, WPARAM wParam, LPARAM lParam)
{
    LPNMHDR hdr = (LPNMHDR)lParam;

    switch(hdr->code){

        case DTN_DATETIMECHANGE:{
            LPNMDATETIMECHANGE lpChange = (LPNMDATETIMECHANGE)lParam;
            DoDateTimeChange(lpChange);
        }
        break;

        case DTN_FORMATQUERY:{
            LPNMDATETIMEFORMATQUERY lpDTFQuery = (LPNMDATETIMEFORMATQUERY)lParam;

            // Process DTN_FORMATQUERY to ensure that the control
            // displays callback information properly.
            DoFormatQuery(hdr->hwndFrom, lpDTFQuery);
        }
        break;

        case DTN_FORMAT:{
            LPNMDATETIMEFORMAT lpNMFormat = (LPNMDATETIMEFORMAT) lParam;

            // Process DTN_FORMAT to supply information about callback
            // fields (fields) in the DTP control.
            DoFormat(hdr->hwndFrom, lpNMFormat);
        }
        break;

        case DTN_WMKEYDOWN:{
            LPNMDATETIMEWMKEYDOWN lpDTKeystroke = 
                            (LPNMDATETIMEWMKEYDOWN)lParam;

            // Process DTN_WMKEYDOWN to respond to a user's keystroke in
            // a callback field.
            DoWMKeydown(hdr->hwndFrom, lpDTKeystroke);
        }
        break;
    }

    // All of the above notifications require the owner to return zero.
    return FALSE;
}

Notificaciones del selector de fecha y hora

Referencia del control Selector de fecha y hora

Usar controles selectores de fecha y hora

Selector de fecha y hora