third_party_content:community:commentary:revdevx:16586.6796412037

Date and Time Picker controls

Published 29 MAY 2013 at 04:18:41PM

Another Windows Common Control exposed by OpenInsight 10 is the Date and Time Picker (DTP) control. This presents a simple interface for a user to enter date and/or time information in a standard or custom format.  It also provides an option to display a drop-down calendar for picking a date.


Date and Time Picker control


Date and Time Picker control with calendar

It supports the following properties:

  • CALALIGN
  • CALBACKCOLOR
  • CALFONT
  • CALFORECOLOR
  • CALMONTHBACKCOLOR
  • CALTITLEBACKCOLOR
  • CALTITLEFORECOLOR
  • CALTRAILINGFORECOLOR
  • CHECK
  • CHECKBOX
  • CUSTOMFORMAT
  • FORMAT
  • IDEALSIZE
  • MAXVALUE
  • MINVALUE
  • UPDOWN
  • VALUE

It supports the following method:

  • CLOSECAL

And the following events:

  • CHAR
  • CHANGED
  • CLOSEUP
  • DROPDOWN
  • GOTFOCUS
  • LOSTFOCUS

This property controls the alignment of the drop-down calendar and can be one of the following values:

  • "L" (Left - the default)
  • "R" (Right)

This property is an RGB color value that specifies the background color displayed between months of the drop-down calendar.  Setting this property has no effect if visual styles are enabled.

This property specifies the font of the drop-down calendar - it has the same structure as the regular OpenInsight FONT property.  Setting this property has no effect if visual styles are enabled.

This property is an RGB color value that specifies the text color of the drop-down calendar. Setting this property has no effect if visual styles are enabled.

This property is an RGB color value that specifies the background color displayed within the month of the drop-down calendar.  Setting this property has no effect if visual styles are enabled.

This property is an RGB color value that specifies the background color displayed in the title of the drop-down calendar.  Setting this property has no effect if visual styles are enabled.

This property is an RGB color value that specifies the text color displayed in the title of the drop-down calendar.  Setting this property has no effect if visual styles are enabled.

This property is an RGB color value that specifies the text color used to display the header day and trailing day text in the drop-down calendar.  Setting this property has no effect if visual styles are enabled.

This is a boolean value that specifies if the DTP checkbox is ticked.  It only applies if the DTP control contains a checkbox (see the CHECKBOX property below).

This is a boolean value that specifies if a checkbox is shown within the DTP control. Normally the DTP control always contains a date/time value (i.e. it is never considered empty).  However if a checkbox is shown then it is only considered to contain a valid date/time if the checkbox is ticked (see the CHECK property above).

By default the format of the date and time displayed by the DTP control is one of the standard formats as defined in the user's Windows environment settings:


Windows date and time settings

The FORMAT property (see below) can be used to specify one of these.

However, it is possible to use a custom format and this can be set using either a standard Windows format string or a standard Revelation Date and Time IConv/Oconv format ("D", "DT"  and "MT") which sets the underlying Windows format appropriately.

e.g.  "D4/E" will be translated to "dd/MM/yyyy" and so on.

This property specifies the format of the date and time displayed in the control and can be one of the following values:

  • "0" - Custom format (set when using the CUSTOMFORMAT property - don't set this yourself!)
  • "1" - Windows Long Date format
  • "2" - Windows Short Date format
  • "3" - Windows Time format

This get-only property returns the size needed to display the control without any clipping as an @fm-delimited array:

<1> Ideal width in pixels
<2> Ideal height in pixels

Specifies the maximum date and time that can be entered in the control. This is a standard Revelation DateTime format of:

date : "." : time

Where date is the number of days elapsed since 31/12/1967, and time is the fraction (percentage) of the day that has elapsed.

Specifies the minimum date and time that can be entered in the control. This is a standard Revelation DateTime format of:

date : "." : time

Where date is the number of days elapsed since 31/12/1967, and time is the fraction (percentage) of the day that has elapsed.

By default the DTP control displays a button to access a drop-down month calendar for modifying the date.  Setting this property to TRUE ("1") displays a Windows UpDown control to modify date-time values instead.


Date and Time Picker with an UpDown control

This property specifies the current value of the DTP control in the standard Revelation DateTime format of:

 date : "." : time

Where date is the number of days elapsed since 31/12/1967, and time is the fraction (percentage) of the day that has elapsed.

While the TEXT property is supported the VALUE property should be used to access the DTP date-time values to avoid possible complications with custom formatting strings.

This method simply closes a dropped-down month calendar. It takes no arguments.

call exec_Method( ctrlEntID, "CLOSECAL" )

Further reading

More information on the Date and Time Picker control can be found on the MSDN site here,

(Disclaimer: This article is based on preliminary information and may be subject to change in the final release version of OpenInsight 10).

Comments


At 07 JUN 2013 11:04AM Captain C wrote:

Hi Jody, this control is pretty much constricted to the functionality provided by MS - there's the CHECKBOX option that allows you flag that it should be considered as empty but beyond that it really expects a date. The problem is controls like this tend to support a single "EditMask" - what you probably need is something that supports multiple masks so you can handle custom input values.

Having said that there is actually a style that we haven't exposed that allows a user to hit "F2" and basically enter free text - the control then sends a message that expects you to parse the string and set the actual date/time value yourself. We haven't implemented this for two reasons - one is a technical reason regarding how OI events are usually run in an asynchronous fashion (and Windows really needs this to be handled synchronously), and the other is it seems fairly clunky compared to what you can do with a standard EditLine and a custom Iconv/Oconv routine (these are far better for fast data entry IMHO).

EditLine controls are getting some nice additional functionality as you'll see on the blog over the coming months so hopefully we should be able to provide something that looks like a date time picker but gives you greater control over parsing the string the user enters.


At 03 JUN 2013 10:02PM Jody S. wrote:

Often date and time pickers leave me wanting more as they do not extend to allow 'common null values' such as NA or UNK. In our industry these is a data responses are standard. Is there planned ability for these controls to handle these options?

Original ID: revdevx.wordpress.com/?p=839
  • third_party_content/community/commentary/revdevx/16586.6796412037.txt
  • Last modified: 2024/02/05 12:42
  • by 127.0.0.1