11 datetime
Das datetime-Objekt (Klassenname dmw_datetime) stellt eine einfache und intuitive Eingabemöglichkeit für Datums- und Zeitwerte zur Verfügung. Es kann Datums- oder Zeitwerte oder beides in unterschiedlichen Formaten anzeigen. Neben der Eingabe per Tastatur kann der Anwender die Werte ändern, indem er zum Beispiel ein Datum aus einem Kalender auswähltunbestimmt
zu setzen
„Abbildung 16-4“ zeigt ein datetime-Objekt mit aufgeklapptem Kalender. Die Darstellung des Kalenders kann durch mehrere Attribute angepasst werden. Beispielsweise werden im rechten Teil von „Abbildung 16-4“ die Nummern der Kalenderwochen und das heutige Datum im Kalender angezeigt.
Die Darstellung der Datums- und Zeitwerte kann über einen Formatstring festgelegt werden. Man kann vordefinierte Systemformate nutzen oder mit den entsprechenden Formatierungszeichen eigene Anzeigeformate definieren. In beiden Fällen werden die Sprach- und Regionseinstellungen des Systems berücksichtigt (zum Beispiel bei den Monatsnamen). „Abbildung 16-5“ zeigt datetime-Objekte mit Formaten, die außer Teilen des Datums oder der Zeit noch zusätzlichen, nicht editierbaren, Text enthalten.
Verfügbarkeit
- Nur unter Microsoft Windows.
- Kann nur mit der USW-Option des ISA Dialog Managers verwendet werden.
- Die idmwidgets.dll muss sich im USW-Klassenpfad befinden (Standard: <IDM-Installationsverzeichnis>\uswclasses).
11.1 Definition
{ export | reexport } { model } dmw_datetime { <Bezeichner> } { <Standardattribute> <Geometrieattribute> <Hierarchieattribute> <Layoutattribute> <Textattribute> <Objektspezifische Attribute> }
Ereignisse |
|||
Kinder |
Keine |
||
Vater |
groupbox |
layoutbox |
notepage |
splitbox |
toolbar |
window |
|
Menü |
Popup Menü |
11.2 Beschreibung der Ereignisse
11.2.1 deselect
Das deselect-Ereignis tritt auf, wenn das datetime den Fokus verloren hat. Dies ist ein Hinweis darauf, dass der Anwender die Eingabe oder Auswahl von Datum oder Zeit abgeschlossen hat. Dabei ist allerdings zu beachten, dass dieses Ereignis nicht nur durch direkte Anwenderaktionen ausgelöst wird, sondern auch als Nebeneffekt anderer Aktionen auftreten kann:
- Der Anwender setzt den Fokus mit der Maus oder Tastatur auf ein anderes Objekt.
- Der Anwender aktiviert eine andere Anwendung oder eine andere Anwendung drängt sich in den Vordergrund und zieht den Fokus auf sich.
Hinweis
Das Öffnen eines Menüs oder Popups setzt nicht unbedingt den Fokus um. Daher kann nicht vorhergesagt werden, ob bei diesen Aktionen ein deselect-Ereignis auftritt. Zum Beispiel kann es sein, dass ein deselect-Ereignis erst auftritt, während die select-Ereignisregel eines menuitems ausgeführt wird, wenn es überhaupt auftritt.
11.2.2 select
Das select-Ereignis tritt jedes Mal auf, wenn sich der Wert des Attributs .value ändert. Das Ereignis kann bei unterschiedlichen Aktionen des Anwenders ausgelöst werden:
- Der Anwender bearbeitet den Wert im Eingabefeld des datetime.
- Der Anwender navigiert im Kalender, um zu einem bestimmten Datum zu gelangen.
- Der Anwender wählt mit Maus oder Tastatur einen Wert aus.
- Der Anwender scrollt mit der Spinbox des datetime.
Das heißt, in der Regel treten mehrere select-Ereignisse auf, bevor der Anwender den endgültigen Wert eingegeben, eingestellt oder ausgewählt hat. Daher sollten in der Ereignisregel des select-Ereignisses keine umfangreichen Aktionen ausgeführt werden.
Mit dem Attribut .real_modified kann geprüft werden, ob sich der Wert des datetime durch die Anwenderaktionen tatsächlich verändert hat, und zwar im Vergleich zum Wert des datetime, als es den Fokus erhalten hat.
Das select-Ereignis kann auch bei einer Verletzung von .minvalue oder .maxvalue auftreten. Dies hängt vom Systemobjekt ab, wobei auch hierbei eine Wertänderung von .value vorliegen muss.
11.3 Geerbte Attribute
Attribut |
Datentyp |
Hinweise |
---|---|---|
.accelerator |
object |
|
.bgc |
object |
wird ignoriert |
.borderraster |
boolean |
|
.control |
object |
|
.count[attribute] |
anyvalue |
|
.cursor |
object |
|
.cut_pending |
boolean |
|
.cut_pending_changed |
boolean |
|
.dialog |
object |
|
.document[integer] |
object |
|
.export |
boolean |
|
.fgc |
object |
wird ignoriert |
.firstrecord |
object |
|
.focus |
boolean |
|
.focus_on_click |
boolean |
|
.font |
object |
|
.function |
object |
|
.function[integer] |
object |
|
.groupbox |
object |
|
.height |
integer |
|
.help |
string |
|
.index |
index |
|
.label |
string |
|
.lastrecord |
object |
|
.mapped |
boolean |
|
.menu[integer] |
object |
|
.model |
object |
|
.module |
object |
|
.navigable |
boolean |
|
.notepage |
object |
|
.parent |
object |
|
.posraster |
boolean |
|
.real_height |
integer |
|
.real_path[string] |
string |
|
.real_sensitive |
boolean |
|
.real_visible |
boolean |
|
.real_width |
integer |
|
.record[integer] |
object |
|
.recordcount |
object |
|
.reexport |
object |
|
.scope |
object |
|
.sensitive |
boolean |
|
.sizeraster |
boolean |
|
.source |
object |
|
.statushelp |
string |
|
.target |
object |
|
.toolbar |
object |
|
.toolhelp |
object |
|
.transformer[integer] |
object |
|
.type[anyvalue] |
datatype |
|
.userdata |
anyvalue |
|
.visible |
boolean |
|
.width |
integer |
|
.window |
object |
|
.xauto |
integer |
|
.xleft |
integer |
|
.xright |
integer |
|
.yauto |
integer |
|
.ybottom |
integer |
|
.ytop |
integer |
|
11.4 Spezifische Attribute
Attribut |
Kurzbeschreibung |
Datentyp |
Standard |
Zugriff |
C |
V |
|
---|---|---|---|---|---|---|---|
get |
set |
||||||
Zulassen unbestimmter Werte |
boolean |
false |
x |
x |
x |
x |
|
Ausrichtung des Kalenders |
integer
|
1 |
x |
x |
x |
x |
|
Anzeigeformat |
string |
"" |
x |
x |
x |
x |
|
Maximalwert |
string |
"" |
x |
x |
x |
x |
|
Minimalwert |
string |
"" |
x |
x |
x |
x |
|
zeigt tatsächliche Änderung von .value an |
boolean |
|
x |
– |
– |
– |
|
Anzeige kurzer Wochentagsnamen |
boolean |
false |
x |
x |
x |
x |
|
Werteingabe über aufklappbaren Kalender oder Spinbox |
class
|
poptext |
x |
x |
x |
x |
|
Anzeige des aktuellen Datums |
boolean |
true |
x |
x |
x |
x |
|
Markierung des aktuellen Datums |
boolean |
true |
x |
x |
x |
x |
|
Anzeige von Tagen des vorherigen oder folgenden Monats |
boolean |
true |
x |
x |
x |
x |
|
Datums- und/oder Zeitwert |
string |
"" |
x |
x |
x |
x |
|
Anzeige der Kalenderwoche |
boolean |
false |
x |
x |
x |
x |
|
C |
changed-Ereignis bei Änderung |
V |
Attribut wird vererbt |