Компонент TMonthCalendar
Этот элемент управления представляет собой панель с календарем на один месяц (рис. 5.7). Он обладает богатыми возможностями по настройке. Основные свойства компонента, отвечающие за внешний вид и управление календарем, представлены в табл. 5.6. Их назначение достаточно прозрачно и не требует особенных комментариев.
Сам календарь содержит в верхней части месяц и год, а расположенные слева и справа кнопки позволяют переходить к следующему и предыдущему месяцу. Красная окружность определяет текущую дату. Синий круг означает выбранную пользователем дату. При увеличении размеров в элементе управления отображается целое число календарей для месяцев, ближайших к текущему.
Таблица 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;
вызывается при смене месяца.