Comment traiter les notifications de sélecteur de date et d’heure

Cette section montre comment traiter les notifications de sélecteur de date et d’heure.

Bon à savoir

Technologies

Prérequis

  • C/C++
  • Windows Programmation de l’interface utilisateur

Instructions

Un contrôle de sélecteur de date et heure (PAO) envoie des messages de notification à la fenêtre parente lorsque des événements, généralement déclenchés par une entrée de l’utilisateur, se produisent dans le contrôle. Votre application doit inclure du code pour déterminer le type de message de notification et répondre de manière appropriée.

Si vous envisagez d’utiliser des champs de rappel avec les contrôles de PAO dans votre application, vous devez être prêt à gérer les codes de notification DTN _ FORMATQUERY, DTN _ et DTN _ WMKEYDOWN . Pour plus d’informations sur les champs de rappel, consultez champs de rappel.

L’exemple de code C++ suivant identifie le message de notification envoyé par un contrôle de PAO et appelle la fonction appropriée définie par l’application. Reportez-vous aux rubriques suivantes pour obtenir des exemples de code qui illustrent comment traiter les notifications qui s’affichent dans cet exemple.

Rubriques
Comment traiter la notification DTN _ DATETIMECHANGE
Comment traiter la notification DTN _ FORMATQUERY
Comment traiter la notification au _ format DTN
Comment traiter la notification 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;
}

Notifications du sélecteur de date et heure

Référence de contrôle de sélecteur de date et heure

Utilisation des contrôles de sélecteur de date et heure

Sélecteur de date et heure