Partager via


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

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

Bon à savoir

Technologies

Prérequis

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

Instructions

Un contrôle sélecteur de date et d’heure (DTP) 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 DTP dans votre application, vous devez être prêt à gérer les codes de notification DTN_FORMATQUERY, DTN_FORMAT 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 DTP 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 apparaissent dans cet exemple.

Rubriques
Comment traiter la notification DTN_DATETIMECHANGE
Comment traiter la notification DTN_FORMATQUERY
Comment traiter la notification DTN_FORMAT
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 d’heure

Informations de référence sur le contrôle du sélecteur de date et d’heure

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

Sélecteur de date et d’heure