Иллюстрированный самоучитель по Visual FoxPro 7

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

Вкладка Шрифт (Font) окна свойств календаря позволяет настроить шрифты объекта. Список Свойства (Properties) вкладки содержит объекты оформления календаря, для которых можно настроить шрифты:

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

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

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

  • Backcolor – фон календаря;
  • 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 таблицы.
  7. Рядом с полем, предназначенным для ввода даты рождения, расположите кнопку.
  8. Используя свойство caption (Надпись), присвойте кнопке название Календарь
  9. Откройте окно свойств Properties (Свойства) кнопки Календарь.
  10. В окне процедур свойства 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. Закройте окно процедур.

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.