18.3.10. TDateTimePicker - ввод и отображение даты/времени

Компонент предназначен для ввода и/или отображения даты или времени. На рис. 18.26 показаны различные варианты использования компонента.

Рис. 18.26. Примеры использования компонента TDateTimePicker

При показе даты в режиме DateMode=dmComboBox календарь можно не раскрывать и установить дату вручную в верхнем окне. Это удобно, если нужно установить сразу и день, и месяц, и год. На раскрытом календаре изменить месяц можно небольшими кнопками вверхней части компонента. Календарь закрывается после выбора даты или при щелчке по раскрывающей кнопке. Установив в свойство Kind значение dtkTime, можно заставить компонент отображать время (справа на рисунке). Это время в момент установки компонента на форму соответствует системному времени, и в дальнейшем его можно изменить, задав новое значение в свойство Time.

Свойства компонента:

TDTCalAlignment = (dtaLeft, dtaRight) ; | Определяет положение раскрывающегося календаря: dtaLeft - слева от компонента;
property CalAlignment: TDTCalAlignment; | dtaRight - справа от компонента. Учитывается только ДЛЯ Kind = dtkDate и Date-Mode = dmComboBox
property CalColors: TDateTimeColors; | С календарем связан объект класса TDateTimeColors, свойства которого определяют цвета календаря
property Checked: Boolean; | Если Checked=True И ShowCheckBox=True, независимый переключатель рядом с датой (временем) будет иметь состояние Выбрано
property Date: TDate;TDTDateFormat = (dfShort,dfLong) ; property DateFormat: TDTDateFormat; | Содержит введенную дату Определяет формат показа даты: df short -08. 09. 99; dfLong-8 Сентябрь 1999г.
TDTDateMode = (dmComboBox, dmUpDown) ; property DateMode: TDTDateMode; | Определяет способ выбора даты: dmComboBox - с помощью раскрывающегося ка лендаря; dmUpDown - с помощью встроенного объекта TupDown
property Format: String; | Определяет формат вывода даты и времени (см. табл. 7.8 в гл. 7)
TDateTimeKind = (dtkDate, dtkTime); property Kind: TDateTimeKind; | Определяет содержимое компонента: dtkDate -дата; dtkTime - время
property MaxDate: TDate; | Определяет максимальную дату, которую может выбрать иди ввести пользователь
property MinDate: TDate; | Определяет минимальную дату, которую может выбрать или ввести пользователь
property Parselnput: Boolean; | Если True, возникает событие OnUserlnput при каждом вводе пользователя в окне редактора
property ShowCheckbox: Boolean; | Если True, рядом с датой (временем) вставляется независимый переключатель
property Time: TTime; | Содержит введенное пользователем время

Для компонента определены следующие события:
property OnChange: TNotifyEvent; | Возникает при любом изменении содержимого компонента
property OnCloseUp: TNotifyEvent; | Возникает при закрытии календаря
property OnDropDown: TNotifyEvent; | Возникает при открытии календаря
TParseInputEvent = procedure (Sender: TObject; const User-String: String” var DateAndTime: TDateTime; var AllowChange: Boolean) of objects-property OnUserInput: TDTParseIn-putEvent; | Возникает при ручном вводе в окне редактора, если ParseInput=True.UserString -введенная пользователем строка; DateAndTime - значения свойств Date и Time. В параметре AllowChange обработчик разрешает или запрещает изменение даты или времени