Компонент TMonthCalendar

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

вызывается при смене месяца.