Этот элемент управления представляет собой панель с календарем на один месяц (рис. 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;
вызывается при смене месяца.