Базы данных Visual Foxpro

сцилла цветок          

Использование календаря в форме

Календарь также является одним из 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) вкладки содержит объекты оформления календаря, для которых можно настроить шрифты:

  • DayFont — дни недели, расположенные в заголовке таблицы;
  • GridFont — числа, размещенные в таблице календаря;
  • Title Font — месяц и год в заголовке календаря.

Списки Шрифт (Font) и Размер (Size) позволяют задать наименование и размер шрифта, выбранного из списка Свойства (Properties) объекта, а флажки области Атрибуты (Effects) — стиль оформления.

Вкладка Цвет (Color) окна свойств календаря позволяет изменить цветовое оформление календаря. Список Свойства (Properties) содержит элементы календаря, для которых можно настроить цвета:

  • Backcoior — фон календаря;
  • DayFontcoior — дни недели, расположенные в заголовке таблицы;
  • GridFontCoior — числа, размещенные в таблице календаря;
  • GridLinesCoior — линии сетки таблицы календаря;
  • TitieFontCoior — месяц и год в заголовке календаря.

С помощью списка Набор цветов (Color Set) можно установить используемую цветовую схему, а списка Цветовая палитра (Color Palette) — цвет выбранного из списка Свойства (Properties) элемента.

При нажатии на кнопку Справка (Help) открывается окно справочной системы, содержащее список всех методов, свойств и событий ActiveXкомпонента.

Использование календаря для ввода информации в поля дат

Мы описали свойства календаря. Теперь посмотрим, как можно использовать данный ActiveX-компонент для ввода информации в поля таблицы, содержащие даты. В качестве примера создадим форму для ввода информации о сотрудниках фирмы. Исходная таблица Manager содержит поле ddatebirth с информацией о дате рождения сотрудника. Информацию в это поле будем вводить с помощью программно формируемого ActiveX-компонента календарь.

Чтобы создать форму, выполните следующие действия:

  1. В проекте sales откройте окно конструктора.
  2. В окружение формы добавьте таблицу, содержащую список сотрудников.
  3. Разместите в форме необходимые для ввода информации поля таблицы.
  4. Откройте окно свойств Properties (Свойства) поля, предназначенного для ввода даты рождения сотрудника.
  5. Используя свойство Name (Имя), присвойте объекту наименование txtbirthday.
  6. Используя свойство control sour се (Источник данных), задайте в качестве источника данных поля для ввода даты рождения поле ddatebirth таблицы.
  1. Рядом с полем, предназначенным для ввода даты рождения, расположите кнопку.
  2. Используя свойство caption (Надпись), присвойте кнопке название Календарь
  3. Откройте окно свойств Properties (Свойства) кнопки Календарь.
  4. В окне процедур свойства click (Нажатие) введите команды, которые программно формируют и задают свойства 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

  1. Закройте окно процедур.

Создание формы завершено. Запустите ее на выполнение. Для ввода информации в поле дата рождения нажмите кнопку Календарь. На экране откроется календарь. Выберите необходимое число, месяц и год и закройте календарь. Указанная вами дата будет перенесена в поле день рождения.

 

Содержание раздела