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;
}
Rubriques connexes