Verarbeiten von Datums- und Uhrzeitauswahlbenachrichtigungen
In diesem Abschnitt wird die Verarbeitung von Datums- und Uhrzeitauswahlbenachrichtigungen veranschaulicht.
Wichtige Informationen
Technologien
Voraussetzungen
- C/C++
- Programmierung der Windows-Benutzeroberfläche
Anweisungen
Ein DTP-Steuerelement (Datums- und Uhrzeitauswahl) sendet Benachrichtigungsmeldungen an das übergeordnete Fenster, wenn Ereignisse, die normalerweise durch Eingaben des Benutzers ausgelöst werden, im Steuerelement auftreten. Ihre Anwendung muss Code enthalten, um den Typ der Benachrichtigung zu bestimmen und entsprechend zu reagieren.
Wenn Sie Rückruffelder mit den DTP-Steuerelementen in Ihrer Anwendung verwenden möchten, müssen Sie bereit sein, DTN_FORMATQUERY, DTN_FORMAT und DTN_WMKEYDOWN Benachrichtigungscodes zu verarbeiten. Weitere Informationen zu Rückruffeldern finden Sie unter Rückruffelder.
Das folgende C++-Codebeispiel identifiziert die von einem DTP-Steuerelement gesendete Benachrichtigungsnachricht und ruft die entsprechende anwendungsdefinierte Funktion auf. In den folgenden Themen finden Sie Codebeispiele, die die Verarbeitung der in diesem Beispiel angezeigten Benachrichtigungen veranschaulichen.
Themen |
---|
Verarbeiten der DTN_DATETIMECHANGE-Benachrichtigung |
Verarbeiten der DTN_FORMATQUERY-Benachrichtigung |
Verarbeiten der DTN_FORMAT Benachrichtigung |
Verarbeiten der DTN_WMKEYDOWN-Benachrichtigung |
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;
}
Zugehörige Themen