Freigeben über


Informationen zu Datums- und Uhrzeitauswahlsteuerelementen

Ein DTP-Steuerelement (Date and Time Picker) bietet eine einfache und intuitive Schnittstelle zum Austausch von Datums- und Uhrzeitinformationen mit einem Benutzer. Mit einem DTP-Steuerelement können Sie beispielsweise den Benutzer auffordern, ein Datum einzugeben und die Auswahl dann einfach abzurufen.

Die folgenden Themen werden erörtert:

Hinweis

Windows unterstützt keine Datumsangaben vor 1601. Weitere Informationen finden Sie in der FILETIME-Struktur .

Das Steuerelement basiert auf dem gregorianischen Kalender, der 1753 eingeführt wurde. Es werden keine Daten berechnet, die mit dem julianischen Kalender übereinstimmen.

Benutzeroberfläche der Datums- und Uhrzeitauswahl

Der Clientbereich eines DTP-Steuerelements (Date and Time Picker) zeigt Datums- oder Uhrzeitinformationen oder beides an und fungiert als Schnittstelle, über die Benutzer die Informationen ändern. Das Datum kann aus einem Kalender oder mithilfe eines Up-Down-Steuerelements ausgewählt werden. Die Zeit kann durch Eingabe in Felder geändert werden, die durch die Formatzeichenfolgen des Steuerelements definiert sind. Optional zeigt das Steuerelement ein Kontrollkästchen an. Wenn er aktiviert ist, kann der Wert im Steuerelement abgerufen werden. andernfalls wird das Steuerelement als nicht initialisiert betrachtet.

Die folgende Abbildung zeigt ein Fenster mit drei Datumsauswahlsteuerelementen. Das erste Datumsauswahl-Steuerelement wurde mit der DTS_SHOWNONE-Formatvorlage erstellt, das zweite mit dem DTS_UPDOWN Stil und das dritte ohne spezielle Stile. Im dritten Steuerelement hat der Benutzer auf den Pfeil nach unten geklickt, um den Kalender anzuzeigen.

Screenshot eines Fensters, das drei Stile von Datumsauswahlsteuerelementen veranschaulicht

Die folgende Abbildung zeigt ein Fenster mit drei Steuerelementen, die die Zeit enthalten.

Das erste Steuerelement wurde mit der DTS_TIMEFORMAT-Format erstellt und zeigt die Zeit in der Standardzeit an, die aus vier Feldern besteht. Der Benutzer kann einen gültigen Wert in eines dieser Felder eingeben oder das Feld auswählen und den Wert mithilfe des Nach-unten-Steuerelements oder der Pfeiltasten ändern.

Das zweite Steuerelement zeigt ein benutzerdefiniertes Format mit DateTime_SetFormat. Wie beim ersten Steuerelement kann der Benutzer die Zeitfelder ändern, indem er oder mithilfe von Pfeiltasten eingibt. Der Wochentag kann geändert werden, indem ein Datum aus dem Kalender ausgewählt wird, das geöffnet wird, wenn der Benutzer auf den Pfeil nach unten klickt.

Das dritte Steuerelement zeigt, wie dem Steuerelement beliebiger Text hinzugefügt werden kann. Der Benutzer kann eine Stunde (von 1 bis 24) auswählen, indem er eingibt, die Pfeiltasten verwendet oder das Nach-unten-Steuerelement verwendet.

Screenshot eines Fensters mit drei Steuerelementen, die die Zeit enthalten

Das DTP-Steuerelement aktualisiert interne Informationen automatisch basierend auf der Eingabe des Benutzers. Das Steuerelement erkennt Folgendes als gültige Eingabe.

Eingabekategorie BESCHREIBUNG
Pfeiltasten Das Steuerelement akzeptiert Pfeiltasten, um in den Feldern im Steuerelement zu navigieren und Werte zu ändern. Der Benutzer kann die Tasten oder drücken, um durch das Steuerelement zu navigieren Wenn der Benutzer versucht, sich in einer bestimmten Richtung am letzten Feld zu bewegen, "umschließt" der Tastaturfokus das Feld auf der gegenüberliegenden Seite des Steuerelements. Die Schlüssel und ändern die Werte im aktuellen Feld inkrementell.
Ende und Startseite Das Steuerelement akzeptiert die VK_END und VK_HOME virtuellen Schlüssel, um den Wert innerhalb des aktuellen Felds in seine oberen bzw. unteren Grenzwerte zu ändern.
Funktionstasten Der Schlüssel aktiviert den Bearbeitungsmodus. Der Schlüssel bewirkt, dass das Steuerelement ein Dropdown-Monatskalendersteuerelement anzeigt (dies geschieht auch durch Drücken).
Zahlen Das Steuerelement akzeptiert numerische Eingaben in Segmenten mit zwei Zeichen. Wenn der vom Benutzer eingegebene Wert ungültig ist (z. B. wenn der Monat auf 14 festgelegt wird), lehnt das Steuerelement ihn ab und setzt die Anzeige auf den vorherigen Wert zurück.
Plus und Minus Das Steuerelement akzeptiert die VK_ADD und VK_SUBTRACT virtuellen Schlüssel aus dem numerischen Tastenfeld, um den Wert im aktuellen Feld zu erhöhen und zu verringern.

 

DTP-Steuerelemente, die nicht die DTS_UPDOWN Formatvorlage verwenden, zeigen eine Pfeilschaltfläche an. Wenn der Benutzer auf diese Schaltfläche klickt, wird ein Monatskalendersteuerelement gelöscht. Der Benutzer kann ein bestimmtes Datum auswählen, indem er auf einen Bereich des Kalenders klickt.

Formatvorlagen und Formate der Datums- und Uhrzeitauswahl

Datums- und Uhrzeitauswahlsteuerelemente (DTP) verfügen über mehrere Datums- und Uhrzeitauswahl-Steuerelementstile , die die Darstellung und das Verhalten eines Steuerelements bestimmen. Geben Sie die Formatvorlage beim Erstellen des Steuerelements mit dem dwStyle-Parameter von CreateWindowEx an. Verwenden Sie GetWindowLong und SetWindowLong, um das Fensterformat abzurufen oder zu ändern, nachdem Sie das Steuerelement erstellt haben.

Voreingestellte Formate

Es stehen drei voreingestellte Formate für die Anzeige des Datums und eines für die Anzeige der Zeit zur Verfügung. Legen Sie diese Formate fest, indem Sie einen der folgenden Fensterstile auswählen.

Format BESCHREIBUNG
DTS_LONGDATEFORMAT Das Display sieht wie folgt aus: "Freitag, 19. April 1996".
DTS_SHORTDATEFORMAT Das Display sieht wie folgt aus: "4/19/96".
DTS_SHORTDATECENTURYFORMAT Version 5.80. Das Display sieht wie folgt aus: "19.4.1996".
DTS_TIMEFORMAT Die Anzeige sieht wie folgt aus: "5:31:42 PM".

 

Benutzerdefinierte Formate

Ein DTP-Steuerelement basiert auf einer Formatzeichenfolge, um zu bestimmen, wie Informationsfelder angezeigt werden sollen. Wenn die voreingestellten Formate nicht ausreichen, können Sie ein benutzerdefiniertes Format erstellen, indem Sie Ihre eigene Formatzeichenfolge definieren. Benutzerdefinierte Formate bieten mehr Flexibilität für eine Anwendung. Sie ermöglichen es Ihnen, die Reihenfolge anzugeben, in der das Steuerelement Informationsfelder anzeigt. Sie können Textkörper sowie Rückruffelder zum Anfordern von Informationen vom Benutzer einschließen. Sobald die Zeichenfolge erstellt wurde, weisen Sie sie dem DTP-Steuerelement mit einer DTM_SETFORMAT Nachricht zu.

Formatzeichenfolgen

Eine DTP-Formatzeichenfolge besteht aus einer Reihe von Elementen, die eine bestimmte Information darstellen und ihr Anzeigeformat definieren. Die Elemente werden in der Reihenfolge angezeigt, in der sie in der Formatzeichenfolge angezeigt werden.

Datums- und Uhrzeitformatelemente werden durch das tatsächliche Datum und die tatsächliche Uhrzeit ersetzt. Sie werden durch die folgenden Zeichengruppen definiert.

Element BESCHREIBUNG
"d" Der ein- oder zweistellige Tag.
"dd" Der zweistellige Tag. Einstellige Tageswerte werden mit einer Null vorangestellt.
"ddd" Das dreistellige Wochentagskürzel.
"dddd" Der vollständige Wochentagsname.
"h" Die ein- oder zweistellige Stunde im 12-Stunden-Format.
"hh" Die zweistellige Stunde im 12-Stunden-Format. Einstellige Werte werden durch eine Null vorangestellt.
"H" Die ein- oder zweistellige Stunde im 24-Stunden-Format.
"HH" Die zweistellige Stunde im 24-Stunden-Format. Einstellige Werte werden durch eine Null vorangestellt.
"m" Die ein- oder zweistellige Minute.
"mm" Die zweistellige Minute. Einstellige Werte werden durch eine Null vorangestellt.
"M" Die ein- oder zweistellige Monatsnummer.
"MM" Die zweistellige Monatsnummer. Einstellige Werte werden durch eine Null vorangestellt.
"MMM" Das dreistellige Monatskürzel.
"MMMM" Der vollständige Monatsname.
"t" Die einbuchstabige AM/PM-Abkürzung (d. h. AM wird als "A") angezeigt.
"tt" Die zweistellige AM/PM-Abkürzung (d. h. AM wird als "AM") angezeigt.
"yy" Die letzten beiden Ziffern des Jahres (d. a. 1996 würden als "96") angezeigt.
"yyyy" Das gesamte Jahr (d. a. 1996 wird als "1996") angezeigt.

 

Um die Informationen besser lesbar zu machen, können Sie der Formatzeichenfolge Textkörper hinzufügen, indem Sie ihn in einfache Anführungszeichen einschließen. Leerzeichen und Interpunktionszeichen müssen nicht in Anführungszeichen gesetzt werden.

Hinweis

Nichtformatierte Zeichen, die nicht durch einfache Anführungszeichen getrennt sind, führen zu einer unvorhersehbaren Anzeige durch das DTP-Steuerelement.

Wenn Sie beispielsweise das aktuelle Datum mit dem Format "'Heute ist: 04:22:31 Dienstag, 23. März 1996" anzeigen möchten, lautet die Formatzeichenfolge "'Heute ist: 'hh':'m's dddd MMM ddd', 'yyyy". Verwenden Sie zwei aufeinanderfolgende einfache Anführungszeichen, um ein einfaches Anführungszeichen in den Texttext einzuschließen. Beispielsweise erzeugt "'Don't forget' MMM dd',' yyyy" eine Ausgabe, die wie folgt aussieht: 23. März 1996 nicht vergessen. Es ist nicht notwendig, Anführungszeichen mit dem Komma zu verwenden, daher ist "'Don't forget' MMM tt, yyyyy" auch gültig und erzeugt die gleiche Ausgabe.

Rückruffelder

Zusätzlich zu den Standardformatzeichenfolgen und dem Textkörper können Sie bestimmte Teile der Anzeige auch als Rückruffelder definieren. Diese Felder können verwendet werden, um den Benutzer nach Informationen abzufragen. Um ein Rückruffeld zu deklarieren, fügen Sie ein oder mehrere X-Zeichen (ASCII-Code 88) an einer beliebigen Stelle in der Formatzeichenfolge ein. Sie können Rückruffelder mit einer eindeutigen Identität erstellen, indem Sie das Zeichen "X" wiederholen. Daher enthält die Formatzeichenfolge "XX ddddd MMM ddd", "yyyy XXX" zwei eindeutige Rückruffelder, "XX" und "XXX". Wie andere DTP-Steuerelementfelder werden Rückruffelder basierend auf ihrer Position in der Formatzeichenfolge in der Reihenfolge von links nach rechts angezeigt.

Wenn das DTP-Steuerelement die Formatzeichenfolge analysiert und auf ein Rückruffeld stößt, sendet es DTN_FORMAT und DTN_FORMATQUERY Benachrichtigungscodes. Das Formatzeichenfolgenelement, das dem Rückruffeld entspricht, ist in den Benachrichtigungen enthalten, damit die empfangende Anwendung bestimmen kann, welches Rückruffeld abgefragt wird. Der Besitzer des Steuerelements muss auf diese Benachrichtigungen reagieren, um sicherzustellen, dass die benutzerdefinierten Informationen ordnungsgemäß angezeigt werden.

Benachrichtigungen zur Datums- und Uhrzeitauswahlsteuerung

Ein DTP-Steuerelement (Date and Time Picker) sendet Benachrichtigungscodes, wenn es Benutzereingaben empfängt oder prozesse und auf Rückruffelder reagiert. Das übergeordnete Element des Steuerelements empfängt diese Benachrichtigungscodes in Form von WM_NOTIFY Nachrichten.

Die folgenden Benachrichtigungscodes werden mit DTP-Steuerelementen verwendet.

Benachrichtigungscode BESCHREIBUNG
DTN_CLOSEUP Gibt an, dass der Dropdownmonatskalender entfernt werden soll.
DTN_DATETIMECHANGE Signalisiert eine Änderung innerhalb des DTP-Steuerelements.
DTN_DROPDOWN Gibt an, dass der Dropdownmonatskalender angezeigt wird.
DTN_FORMAT Fordert Text an, der in einem Teil der Formatzeichenfolge angezeigt wird, der als Rückruffeld beschrieben wird.
DTN_FORMATQUERY Fordert Informationen über die maximal zulässige Größe des Texts an, der in einem Rückruffeld angezeigt werden soll.
DTN_USERSTRING Signalisiert das Ende des Bearbeitungsvorgangs eines Benutzers innerhalb des Steuerelements. Diese Benachrichtigung wird nur von DTP-Steuerelementen gesendet, die den stil "DTS_APPCANPARSE " verwenden.
DTN_WMKEYDOWN Signalisiert, dass der Benutzer eine Taste in einem Rückruffeld des DTP-Steuerelements gedrückt hat.

 

Verweis auf Datums- und Uhrzeitauswahlsteuerelemente