Тема: Объекты Visual FoxPro. Свойства, события, методы. Задание: на основе базовых классов СУБД создать собственные пользовательские классы и включить их объекты в интерфейс проекта

Часть 2).

Задание: на основе базовых классов СУБД создать собственные пользовательские классы и включить их объекты в интерфейс проекта.

Выполнение:

1. Создадим русифицированный класс кнопок управления. Для этого исследуем структуру объектов ранее созданной с помощью Мастера формы (см.рис.4.1); посмотрим код формы с помощью кнопки «View Class Code» окна «Class Browser» (см.рис.4.2).

Тема: Объекты Visual FoxPro. Свойства, события, методы. Задание: на основе базовых классов СУБД создать собственные пользовательские классы и включить их объекты в интерфейс проекта - student2.ru

Рис.4.1. Окно «Class Browser».

Тема: Объекты Visual FoxPro. Свойства, события, методы. Задание: на основе базовых классов СУБД создать собственные пользовательские классы и включить их объекты в интерфейс проекта - student2.ru

Рис.4.2. Окно кода формы.

2. Изучим список кнопок управления: классы текстовых кнопок и кнопок с изображениями включают в себя кнопки перехода к следующей, предыдущей, первой и последней записям таблицы, а также добавления, удаления и редактирования текущей записи, поиска записей и закрытия активной формы, функциональность кнопок обеспечивает за счет соответствующих методов (см.рис.4.3):

Тема: Объекты Visual FoxPro. Свойства, события, методы. Задание: на основе базовых классов СУБД создать собственные пользовательские классы и включить их объекты в интерфейс проекта - student2.ru

Рис.4.3. Список кнопок управления.

3. Создадим собственный класс текстовых кнопок. Поле «TXTBTNS» в появившемся диалоговом окне оставим не тронутым, что позволит сохранить коды разработчиков на кнопках (рис.4.4). Сохраним класс в папке «Libs».

Тема: Объекты Visual FoxPro. Свойства, события, методы. Задание: на основе базовых классов СУБД создать собственные пользовательские классы и включить их объекты в интерфейс проекта - student2.ru

Рис.4.4. Создание нового пользовательского класса.

4. Перейдем в окно Конструктора класса. Изменим заголовки кнопок следующим образом, установив свойство Caption каждой из них (см.рис.4.5):

Тема: Объекты Visual FoxPro. Свойства, события, методы. Задание: на основе базовых классов СУБД создать собственные пользовательские классы и включить их объекты в интерфейс проекта - student2.ru

Рис.4.5. Конструктор класса.

5. Изменим метод setcaption класса кнопок, чтобы завершить изменение заголовков кнопок на русские названия (см.листинг 4.1). Добавим класс к проекту с помощью кнопки «Add» на вкладке менеджера проекта «Classes».

Листинг 4.1.

#DEFINE ADD_CAPTION_LOC "\<Добавить"

#DEFINE EDIT_CAPTION_LOC "\<Редактировать"

#DEFINE REV_CAPTION_LOC "\<Отмена"

#DEFINE SAVE_CAPTION_LOC "\<Сохранить"

IF THIS.EditMode

THIS.cmdAdd.Caption = SAVE_CAPTION_LOC

THIS.cmdEdit.Caption = REV_CAPTION_LOC

ELSE

THIS.cmdAdd.Caption = ADD_CAPTION_LOC

THIS.cmdEdit.Caption = EDIT_CAPTION_LOC

ENDIF

6. Создадим пользовательский класс mainform на основе Form. Организуем стиль его оформления, изменив цвет его фона и добавив в Конструкторе на форму картинку, кнопку управления и несколько надписей (см.рис.4.6), при этом событие Click надписей «Выход», «О проекте» и «На главную» будет запрограммировано так, чтобы пользователь мог нажатием на них осуществить переход на другие формы (см.листинги 4.2-4.5).

Листинг 4.2. «Выход».

thisForm.Release

DO FORM 'Forms\entrance.scx'

CLOSE TABLES ALL

Листинг 4.3. «О программе».

thisForm.Release

DO FORM 'Forms\about.scx'

CLOSE TABLES ALL

Листинг 4.4. «На главную».

thisForm.Release

DO FORM 'Forms\mainmenu.scx'

Листинг 4.5. Кнопка «Сервис».

thisForm.Release

DO FORM 'Forms\service.scx'

Тема: Объекты Visual FoxPro. Свойства, события, методы. Задание: на основе базовых классов СУБД создать собственные пользовательские классы и включить их объекты в интерфейс проекта - student2.ru

Рис.4.6. Класс mainform.

7. Создадим пользовательские классы my_checkbox, my_grid, my_OLE,my_optgroup,my_shape,my_line,my_command и поместим их на одну форму, организовав их взаимодействие (см.рис.4.7-4.8). События MouseEnter и MouseLeave класса my_checkbox запрограммированы так, чтобы цвет фона изменялся при проставлении/снятии галочки. Класс my_line имеет цвет линии фиолетовый, линия проходит из верхнего левого угла в правый нижний. Класс my_optgroup имеет 2 переключателя, цвет фона – прозрачный. Источником данных my_grid1 является таблица sotrudniki. Класс my_OLE имеет заданные ширину и высоту. Объект my_command1 запрограммирован таким образом, чтобы пользователь мог управлять свойством Visible объекта my_optgroup1.

Тема: Объекты Visual FoxPro. Свойства, события, методы. Задание: на основе базовых классов СУБД создать собственные пользовательские классы и включить их объекты в интерфейс проекта - student2.ru

Рис.4.7. Взаимодействие объектов пользовательских классов.

Тема: Объекты Visual FoxPro. Свойства, события, методы. Задание: на основе базовых классов СУБД создать собственные пользовательские классы и включить их объекты в интерфейс проекта - student2.ru

Рис.4.8. Взаимодействие объектов пользовательских классов.

ЛАБОРАТОРНАЯ РАБОТА №5

Наши рекомендации