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ählt (oberes datetime-Objekt in „Abbildung 16-3“) oder mit Spinbuttons einstellt (unteres datetime-Objekt in „Abbildung 16-3“). Außerdem kann dem Anwender die Möglichkeit gegeben werden, den Wert mithilfe einer Checkbox auf unbestimmt zu setzen (rechter Teil von „Abbildung 16-3“).

Abbildung 16-3: datetime-Objekte

„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.

Abbildung 16-4: datetime-Objekt mit aufgeklapptem Kalender

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.

Abbildung 16-5: datetime-Objekte mit unterschiedlichen Formaten

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

changed

deselect

extevent

focus

help

select

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:

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:

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

.allowundefined

Zulassen unbestimmter Werte

boolean

false

x

x

x

x

.calendaralignment

Ausrichtung des Kalenders

integer
(-1, 0, 1)

1

x

x

x

x

.format

Anzeigeformat

string

""

x

x

x

x

.maxvalue

Maximalwert

string

""

x

x

x

x

.minvalue

Minimalwert

string

""

x

x

x

x

.real_modified

zeigt tatsächliche Änderung von .value an

boolean

 

x

.shortdaynames

Anzeige kurzer Wochentagsnamen

boolean

false

x

x

x

x

.style

Werteingabe über aufklappbaren Kalender oder Spinbox

class
(poptext, spinbox)

poptext

x

x

x

x

.today

Anzeige des aktuellen Datums

boolean

true

x

x

x

x

.todaymarker

Markierung des aktuellen Datums

boolean

true

x

x

x

x

.trailingdates

Anzeige von Tagen des vorherigen oder folgenden Monats

boolean

true

x

x

x

x

.value

Datums- und/oder Zeitwert

string

""

x

x

x

x

.weeknumbers

Anzeige der Kalenderwoche

boolean

false

x

x

x

x

C

changed-Ereignis bei Änderung

V

Attribut wird vererbt