Иллюстрированный самоучитель по Delphi 7 для профессионалов

Календарь. Компонент TMonthCalendar.

Выбор даты – одна из часто используемых операций при вводе данных. Для облегчения этого действия разработчики Borland создали два новых элемента управления. Компонент TMonthCaiendar инкапсулирует календарь, панель которого содержит типовую таблицу на один месяц. Компонент TDateTimePicker совмещает календарь с однострочным текстовым редактором, позволяя вводить даты путем выбора из календаря.


Этот элемент управления представляет собой панель с календарем на один месяц (рис. 5.7). Он обладает богатыми возможностями по настройке. Основные свойства компонента, отвечающие за внешний вид и управление календарем, представлены в табл. 5.6. Их назначение достаточно прозрачно и не требует особенных комментариев.

Иллюстрированный самоучитель по Delphi 7 для профессионалов › Элементы управления Win32 › Календарь. Компонент TMonthCalendar.
Рис. 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;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.