Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
110
Добавлен:
15.06.2014
Размер:
10 Mб
Скачать

5.3.8.2 Создание объектов на основе базовых классов и задание свойств объектов

Список всех базовых классов содержится на инструментальной панели конструктора формы (рис. 5.5). Для создания экземпляра выбранного класса достаточно перенести пиктограмму выбранного класса в форму и разместить ее в требуемом месте формы. Созданный объект будет обладать всеми характеристиками базового класса. Имена объектов формы определяются при их помещении в форму и содержат тип объекта и его номер в форме.

Можно создавать новые объекты не только в конструкторе форм, но и с помощью специальной функции CREATEOBJECT. Данная функция возвращает идентификатор созданного объекта, который нужен для определения свойств объекта, а также выполнения над ним действий. Чтобы определить свойства объекта в диалоге, нужно выделить требуемый объект, щелкнуть по нему правой кнопкой мыши и из меню выбрать команду Properties. В результате на экране появится диалоговое окно свойств текущего объекта. При программировании можно определить значение свойства объекта, указав имя объекта и имя свойства, которые разделяются точками. Для изменения свойства достаточно присвоить ему допустимое значение. Язык Visual FoxPro позволяет устанавливать не только свойства отдельных объектов, но и определенной группы объектов. Синтаксис соответствующих команд приведен на рис. 5.39.

CREATEOBJECT (<class name>[,<parameter1>[,<parameter2>]… ])

WITH <object name1>[,<object name2>… ]

[.<property>=<expr>]

ENDWITH

Рис. 5.39 Команды создания объекта и задания свойств группы объектов

Пример создания формы, определения для нее заголовка и отображения формы на экране показан на рис. 5.40.

FrmTest=CREATEOBJECT(“FORM”)

FrmTest.Caption=”Заголовок формы

FrmTest.Show()

Рис. 5.40 Пример команд для работы с формой

VF позволяет изменять свойства объектов в процессе выполнения программы. Изменение свойств объекта не приводит к генерации события, за исключением изменения свойства Value.

VF позволяет не только использовать свойства, наследованные из базового класса, но и создавать новые свойства, которые можно использовать для хранения характеристик объекта и связанных с ним данных. Для создания нового свойства объекта нужно: Form New Property в конструкторе форм. Откроется диалоговое окно, в котором задается имя свойства и его описание. Созданное свойство появляется во вкладке Other окна свойств объекта. Далее можно присвоить созданному свойству требуемое значение в окне свойств объекта или программным путем и использовать его при выполнении приложения.

5.3.8.3 Определение событий и методов для объектов класса

Аналогично свойствам наследуются события и методы базового класса, на основе которого создается объект. Список методов, определенных для объекта, отражается на вкладке Methods окна свойств объекта.

Для каждого события определен соответствующий ему метод, который выполняется при возникновении данного события. Например, метод Click выполняется при нажатии кнопки мыши. Список доступных методов обработки событий определяется базовым классом. Именно эти методы обеспечивают обработку всех действий пользователя (нажатие клавиш, управление мышью и т.д.). Visual FoxPro предоставляет возможность модифицировать действия, выполняемые при обработке события данного объекта.

Для редактирования метода: установить курсор на этот метод в списке методов и щелкнуть по нему два раза кнопкой мыши (2ЩК). На экране откроется окно редактирования метода, в котором можно написать программу обработки события. Например, для кнопки можно определить программу создания отчета, который вызывается при нажатии на данную кнопку.

Для каждого события объекта выполняется определенное в базовом классе действие. В некоторых случаях может понадобиться запретить выполнение этих действий. Для этого следует использовать ключевое слово NODEFAULT в начале метода, связанного с этим событием.

Методы, выполняющиеся при наступлении событий, в окне свойств объекта в списке методов в дополнение к имени метода содержат слово Event.

Команда MOUSE позволяет программным путем имитировать события Click, DoubleClick, MouseMove и DragDrop. Остальные события не могут имитироваться программно, но можно вызвать методы, связанные с этими событиями.

Кроме методов, связанных с событиями, объект может содержать и дополнительные методы, которые выполняются только при их вызове. Например, для формы могут быть определены методы перехода на следующую запись, удаления записи и т.п. Эти методы могут наследоваться из базового класса, но можно создавать новые методы и для отдельных объектов.

Для создания нового метода: Form New Method в окне конструктора. После этого в одноименном диалоговом окне следует определить имя и краткое описание метода. Созданный метод добавляется в список методов объекта, и можно открыть окно редактирования метода для ввода программного кода.

Для выполнения метода необходимо указать не только имя метода, но и объект, к которому будет применяться данный метод. Имя объекта и имя метода разделяются точкой. Например, для выполнения метода CalcSum для формы SALES необходимо выполнить команду SALES.CalcSum().