Календарь также является одним из ActiveX-компонентов. Вы можете использовать его для ввода информации в поля дат.
Сначала разместим календарь в форме,
чтобы посмотреть свойства, которыми обладает данный объект, и возможности их
Настройка свойств календаря
Чтобы разместить в форме календарь, который на панели инструментов Form Controls (Элементы управления формы), содержащей ActiveX - компоненты, отображается в виде кнопки Calendar Control (Элемент управления календарь), нажмите данную кнопку, установите указатель мыши в форму и нарисуйте курсором рамку требуемого размера. Календарь размещен в форме.
С целью настройки свойств календаря выделите размещенный объект и нажмите правую кнопку мыши. В контекстном меню выберите команду Календарь Свойства. На экране откроется диалоговое окно Свойства: Календарь созданного объекта, содержащее набор параметров, позволяющих настроить календарь.
Диалоговое окно Свойства: Календарь содержит три вкладки: Общие (General), Шрифт (Font), Цвет (Color).
Вкладка Общие содержит поля, позволяющие настроить параметры, описанные в табл. 16.2.
Таблица 16.2. Назначение полей окна Свойства: Календарь
Поле | Назначение |
Значение (Value) | Текущая дата |
Первый день недели
(First Day) |
День, принимаемый за первый день недели |
Формат дня {Day Length) | Формат отображения наименования дня недели; может принимать одно из трех значений: короткий, средний, длинный |
Формат месяца (Month Length) | Формат отображения наименования месяца; может принимать одно из двух значений: короткий и длинный |
Оформление (Grid Cell Effect) | Стиль отображения ячеек таблицы |
Область Отображение (Show) вкладки Общие (General) содержит флажки, описанные в табл. 16.3.
Таблица 16.3. Назначение флажков области Отображение вкладки Общие
Флажок | Назначение |
Заголовок месяца
и года
(Month/Year Title) |
Указывает на необходимость отображения заголовка месяца и года |
Выбор месяца и
года
(Month/Year Selectors) |
Указывает на необходимость размещения в заголовке полей для выбора месяца и года |
Дни недели (Days of Week) | Указывает на необходимость отображения в заголовке таблицы дней недели |
Сетка по горизонтали
(Horizontal Grid) |
Указывает на необходимость отображения в таблице горизонтальных линий сетки |
Сетка по вертикали
(Vertical Grid) |
Указывает на необходимость отображения в таблице вертикальных линий сетки |
При изменении любого из параметров вкладки становится доступной кнопка Применить, при нажатии на которую сохраняются введенные изменения.
Вкладка Шрифт (Font) окна свойств календаря позволяет настроить шрифты объекта. Список Свойства (Properties) вкладки содержит объекты оформления календаря, для которых можно настроить шрифты:
Списки Шрифт (Font) и Размер (Size) позволяют задать наименование и размер шрифта, выбранного из списка Свойства (Properties) объекта, а флажки области Атрибуты (Effects) — стиль оформления.
Вкладка Цвет (Color) окна свойств календаря позволяет изменить цветовое оформление календаря. Список Свойства (Properties) содержит элементы календаря, для которых можно настроить цвета:
С помощью списка Набор цветов (Color Set) можно установить используемую цветовую схему, а списка Цветовая палитра (Color Palette) — цвет выбранного из списка Свойства (Properties) элемента.
При нажатии на кнопку Справка (Help) открывается окно справочной системы, содержащее список всех методов, свойств и событий ActiveXкомпонента.
Использование календаря для ввода информации в поля дат
Мы описали свойства календаря. Теперь посмотрим, как можно использовать данный ActiveX-компонент для ввода информации в поля таблицы, содержащие даты. В качестве примера создадим форму для ввода информации о сотрудниках фирмы. Исходная таблица Manager содержит поле ddatebirth с информацией о дате рождения сотрудника. Информацию в это поле будем вводить с помощью программно формируемого ActiveX-компонента календарь.
Чтобы создать форму, выполните следующие действия:
#DEFINE C_CALCAPTION_LOC "Календарь"
oCalForm = Create('form' )
oCalForm.NewObject("oleCalendar","_olecalendar", "_datetime")
WITH oCalForm.oleCalendar
.date_cclumn = "manager.ddatebirth"
.RefreshDisplay{)
.BackColor = THISFORM.BackColor
.Visible = .T.
ENDWITH
WITH OCalForm
.BorderStyle = 2
.MaxButton = .F.
.MinButton = .F.
.Height = oCalForm.oleCalendar.Height
.Width = oCalForm. oleCalendar.Width
.Caption = C_CALCAPTION_LOC
ENDWITH
oCalForm.Show(l)
THISFORM.Refresh
Создание формы завершено. Запустите
ее на выполнение. Для ввода информации в поле дата рождения нажмите кнопку Календарь.
На экране откроется календарь. Выберите необходимое число, месяц и год и закройте
календарь. Указанная вами дата будет перенесена в поле день рождения.