Календарь. Компонент TMonthCalendar.
Выбор даты – одна из часто используемых операций при вводе данных. Для облегчения этого действия разработчики Borland создали два новых элемента управления. Компонент TMonthCaiendar инкапсулирует календарь, панель которого содержит типовую таблицу на один месяц. Компонент TDateTimePicker совмещает календарь с однострочным текстовым редактором, позволяя вводить даты путем выбора из календаря.
Этот элемент управления представляет собой панель с календарем на один месяц (рис. 5.7). Он обладает богатыми возможностями по настройке. Основные свойства компонента, отвечающие за внешний вид и управление календарем, представлены в табл. 5.6. Их назначение достаточно прозрачно и не требует особенных комментариев.
Рис. 5.7. Компонент TMonthCalendar
Сам календарь содержит в верхней части месяц и год, а расположенные слева и справа кнопки позволяют переходить к следующему и предыдущему месяцу. Красная окружность определяет текущую дату. Синий круг означает выбранную пользователем дату. При увеличении размеров в элементе управления отображается целое число календарей для месяцев, ближайших к текущему.
Таблица 5.6. Основные свойства компонента TMonthCalendar.
Объявление | Описание |
---|---|
property CalColors: TMonthCalColors; | Определяет цвета основных элементов календаря |
property Date: TDate; | Содержит выбранную дату |
property EndDate: TDate; | Содержит последнюю из выбранных дат при MultiSelect = True. Иначе совпадает со свойством Date |
type TCalDayOfWeek = (dowMonday, dowTuesday, dowWednesday, dowThursday, dowFriday, dowSaturday, dowSunday, dowLocaleDefault); property FirstDayOfWeek: TCalDayOfWeek; | Определяет день, с которого начинается неделя. Значение по умолчанию dowLocaleDefault соответствует установкам ОС |
property MaxDate: TDate; | Максимальная доступная для просмотра дата |
property MaxSelectRange: Integer; | Максимальная доступная для выбора дата |
property MinDate: TDate; | Минимальная доступная для просмотра дата |
property MultiSelect: Boolean; | При значении True позволяет выбирать несколько дат одновременно |
property ShowToday: Boolean; | Включает или отключает показ текущей даты в нижней части календаря |
property ShowTodayCircle: Boolean; | Включает или отключает выделение текущей даты красным кругом |
property WeekNumbers: Boolean; | Включает или отключает показ номеров недель в левой части календаря |
Результат выбора даты в календаре сохраняется в свойстве Date. При использовании возможности выбора нескольких значений одновременно в свойстве EndDate содержится последняя дата, а в свойстве Date – самая ранняя из выбранных.
Метод-обработчик вызывается при смене месяца:
property OnGetMonthlnfo: TOnGetMonthlnfoEvent;