|
Компонент TDateTimePicker
Безусловно, календарь будет очень полезен
пользователям. Однако было бы желательно не только выбирать
даты, но и вводить их в элементы управления. Компонент
TDateTimePicker совмещает календарь
и однострочный текстовый редактор, причем календарь
полностью совпадает с рассмотренным выше (оба компонента
являются наследниками класса TCommonCaiendar).
Свойства и методы компонента представлены в табл. 5.7.
Таблица 5.7. Основные
свойства и методы компонента TDateTimePicker
|
|
|
type TDTCalAlignment
= (dtaLeft, dtaRight) ; property CalAlignment
: TDTCalAlignment;
|
Выравнивает панель календаря
по левой или правой стороне компонента
|
property Checked:
Boolean;
|
Возвращает True,
если флажок в редакторе включен
|
type TDTDateFormat
= (df Short, dfLong) ; property DateFormat:
TDTDateFormat;
|
Определяет формат представления
даты
|
type TDTDateMode
= (dmComboBox, dmUpDown) ; property DateMode:
TDTDateMode;
|
|
property DroppedDown:
Boolean;
|
Возвращает True,
если панель календаря включена
|
type TDateTimeKind
= (dtkDate, dtkTime) ; property Kind: TDateTimeKind;
|
Определяет возвращаемый результат
— дату или время. Время можно вводить только
в стиле dmUpDown
|
property Parselnput:
Boolean;
|
Включает или отключает метод-обработчик
OnUserlnput
|
property ShowCheckbox:
Boolean;
|
Управляет видимостью флажка
|
type TTime
= type TDateTime; property Time: TTime;
|
Содержит установленное время
|
property OnChange:
TNotifyEvent;
|
Вызывается при вводе даты или
времени
|
property OnCloseUp:
TNotifyEvent;
|
Вызывается при сворачивании
панели календаря
|
property OnDropDown:
TNotifyEvent;
|
Вызывается при разворачивании
панели календаря
|
type TDTParselnputEvent
= procedure (Sender : TObject; const UserString:
string; var DateAndTime: TDateTime; var AllowChange:
Boolean) of object;
property OnUser
Input: TDTParselnputEvent;
|
Вызывается при прямом вводе
значения в редактор.
Параметр UserString
содержит вводимое значение.
Параметр DateAndTime
содержит значение даты или времени.
Параметр AllowChange
управляет изменением значения
|
Компонент TDateTimePicker
может обеспечивать ввод даты или времени.
Помимо календаря в элемент управления
встроен флажок, который расположен в левой части редактора.
Его видимостью можно управлять.
В зависимости от значения свойства
Kind элемент управления настраивается
на ввод даты или времени. Результат ввода даты сохраняется
в свойстве Date. Дату можно выбирать из всплывающего
календаря или путем перебора. Результат ввода времени
сохраняется в свойстве Time.
Свойство Parseinput
при значении True разрешает ручной
ввод значения. В этом случае разработчик может использовать
метод-обработчик
type TDTParselnputEvent
= procedure(Sender: TObject; const UserString: string;
var DateAndTime: TDateTime; var AllowChange: Boolean)
of object; property OnUserlnput: TDTParselnputEvent;
В нем можно предусмотреть необходимые
действия, например проверку введенного значения:
procedure TForml.DateTimePicker2UserInput(Sender:
TObject;
const UserString:
String; var DateAndTime: TDateTime; var AllowChange:
Boolean);
begin
try
DateAndTime := StrToDateTime(UserString);
except
on E: EConvertError
do ShowMessage('Неверное значение');
end;
end;
Обратите внимание, что здесь обязательно
должно присутствовать присвоение результата ввода параметру
DateAndTime, иначе элемент управления
не получит новое значение.
|