Компонент 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;

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