Notes
Kind chooses date only (tkDate) or date and time (tkDateTime).
- Read the result from
Date and Time; Format controls how it is displayed.
MinDate and MaxDate restrict the selectable range.
- The
Define...Text properties relabel the dropdown panel (weekday names, Today, OK and so on), which is what you need for a localized UI.
- With
AutoClose on the panel closes as soon as a day is picked; with it off the user confirms, which suits picking a date and then a time.
Example
From the demo MlSkin.MainDemo.v3.0 (.dfm form file)
object dp1: TMlSkinDatetimePicker
Left = 781
Top = 148
Width = 145
Height = 26
Cursor = crIBeam
FontHint.Charset = DEFAULT_CHARSET
FontHint.Color = 11711154
FontHint.Height = -11
FontHint.Name = 'Tahoma'
FontHint.Style = []
BorderNormal = 'MlSkinBorderNormal'
BorderHot = 'MlSkinBorderHot'
EdItems = <
...
Properties 30
| Name | Type | Default | Description |
|---|
AutoClose | Boolean | True | Closes the dropdown as soon as a day is picked. With it off the user confirms with OK, which suits picking a date and a time together. |
Kind | TMlDateTimeKind | tkDateTime | What can be picked: tkDate for a date only, tkDateTime for date and time. |
Format | string | — | Display format string, for example yyyy-mm-dd. |
Date | TDate | — | The selected date. |
Time | TTime | — | The selected time, used when Kind is tkDateTime. |
MaxDate | TDate | — | Latest selectable date. |
MinDate | TDate | — | Earliest selectable date. |
DefineHourText | string | — | Label for "hour" on the dropdown panel, for localization. |
DefineMinuteText | string | — | Label for "minute" on the dropdown panel. |
DefineSecondsText | string | — | Label for "second" on the dropdown panel. |
DefineClearText | string | — | Caption of the Clear button on the dropdown panel. |
DefineTodayText | string | — | Caption of the Today button on the dropdown panel. |
DefineOKText | string | — | Caption of the OK button on the dropdown panel. |
DefineTimeText | string | — | Label for "time" on the dropdown panel. |
DefineSuText | string | — | Label for Sunday. |
DefineMoText | string | — | Label for Monday. |
DefineTuText | string | — | Label for Tuesday. |
DefineWeText | string | — | Label for Wednesday. |
DefineThText | string | — | Label for Thursday. |
DefineFrText | string | — | Label for Friday. |
DefineSaText | string | — | Label for Saturday. |
FontHint | TFont | — | Font of the placeholder text, usually lighter than the main text. |
BorderNormal | TMlResID | — | Border image in the normal state, given as an image ID or path. |
BorderHot | TMlResID | — | Border image used on hover or while focused. |
ReadOnly | Boolean | False | Read-only: the content cannot be edited, but it can still be selected and copied. |
Text | string | — | The text shown or typed in the control. |
TextHint | string | — | Placeholder text shown in a light color while the control is empty, for example "Type a keyword". |
MaxLength | Integer | 0 | Maximum number of characters; 0 means no limit. |
EdItems | TMlEditItems | — | The items inside the edit: each has its images (normal, hot, pressed), text, position and visibility — this is how clear, search or reveal-password buttons are built. |
Space | TMlSpaceSize | — | Padding between the text and the border (left, top, right, bottom); switch its Active on first. |
Events 2
| Name | Type | Default | Description |
|---|
OnChange | TNotifyEvent | — | Fires when the content changes. |
OnPickDone | TNotifyEvent | — | Fires once the selection is finished, either by confirming or by auto-closing. |
Properties of TMlSkinEdit 6
| Name | Type | Default | Description |
|---|
AutoSelect | Boolean | True | Selects the existing text automatically when the control receives focus. |
ShowCheckBox | Boolean | False | Shows a check box at the left of the edit; its state is read and written through Checked. |
CharCase | TEditCharCase | ecNormal | Letter case conversion: as typed, upper case or lower case. |
Checked | Boolean | False | The checked state. |
BorderVisible | Boolean | True | Whether the border is drawn. |
TextKind | TMlTextKind | tkAll | Restricts what can be typed: tkAll anything, tkEN letters, tkNumInt integers, tkNumReal numbers with decimals and sign, tkENandNum letters and digits. |
Properties of TMlSkinPngEdit 3
| Name | Type | Default | Description |
|---|
TextHintHideInKey | Boolean | False | When the placeholder disappears: with this on it stays while focused and hides only once a character is typed. |
CursorColor | TColor | clBlack | Colour of the caret. |
DisableIME | Boolean | False | Disables the IME so only Latin letters and digits can be typed — useful for account or serial number fields. |
Properties of TMlSkinCustomControl 5
| Name | Type | Default | Description |
|---|
About | TMlAboutInfo | — | A design-time property: double-clicking it in the Object Inspector opens the MLSkin about box with the component version. It has no effect at run time and is not stored in the .dfm. |
Transparent | Boolean | True | Transparent background: the control skips its own fill and shows the form background (image or color) instead. |
Color | TColor | clWhite | Background color of the control; ignored while Transparent is on. |
AutoInvalidate | Boolean | False | Repaints automatically when the content changes. Turn it on if property changes do not show up. |
EraseBackground | Boolean | False | Whether the background is erased before painting; worth toggling if the control flickers. |
Events of TMlSkinCustomControl 4
| Name | Type | Default | Description |
|---|
OnDPIChanged | TMlDPIChangedEvent | — | Fires when the screen DPI changes, for example when the window moves to a monitor with a different scaling — a good place to re-adjust anything you draw yourself. |
OnBackgroundChanging | TMlBackgroundEvent | — | Fires just before the background changes, giving you a chance to adjust what is drawn. |
OnBackgroundChanged | TMlCustomDrawEvent | — | Fires after the background has been drawn, so you can paint on top of it. |
OnVisibleChanged | TNotifyEvent | — | Fires when the control is shown or hidden. |
Only the properties and events MLSkin adds are listed here. Standard VCL properties such as Align, Anchors, Font and OnClick are available too and behave exactly as on the stock controls.