Использование базовых классов при создании форм
Команда MOUSE позволяет вам программным путем имитировать события click (Нажатие), Doubleclick (Двойное нажатие), MouseMove (Перемещение мыши) и DragDrop (Перенести и оставить). Остальные события не могут имитироваться программно, но вы можете вызвать методы, связанные с этими событиями.
Кроме методов, связанных с событиями, объект может содержать и дополнительные методы, которые выполняются только при их вызове. Например, для формы могут быть определены методы перехода на следующую запись, удаления записи и т. п. Эти методы могут наследоваться из базового класса, но вы можете создавать новые методы и для отдельных объектов.
Для создания нового метода в меню Form (Форма) выберите команду New Method (Новый метод) и в открывшемся диалоговом окне New Method (Новый метод) (рис. 19.6) определите имя и краткое описание метода. Созданный вами метод добавляется в список методов объекта, и вы можете открыть окно редактирования метода для ввода программного кода.
Для выполнения метода необходимо не только указать имя метода, но и объект, к которому данный метод будет применяться. Имя объекта и имя метода разделяются точкой. Например, для выполнения метода CalcSum формы Sales необходимо выполнить команду Sales.CalcSum().

Рис. 19.6. Диалоговое окно New Method
В табл. 19.5 и табл. 19.6 приведены события и методы, которые распознаются и используются Visual FoxPro, и их краткое описание.
Таблица. 19.5. События, распознаваемые Visual FoxPro.
| Событие | Возникает | 
|---|---|
| Activate | При активизации объектов FormSet (Набор форм), Form (Форма), Page (Вкладка формы) или при отображении объекта Toolbar (Панель управления) | 
| AfterBuilld | При перестроении проекта или приложения, а также при создании динамической библиотеки (dll) или выполняемого файла (ехе) на основе проекта | 
| AfterCloseTables | После закрытия таблиц или представлений данных | 
| AfterDock | После того, как фиксируется панель инструментов | 
| AfterRowColChange | При переходе в другую строку или другой столбец объекта Grid (Таблица) | 
| BeforeDock | Имеет место перед фиксацией объекта ToolBar (Панель управления) | 
| BeforeOpenTables | Перед открытием таблиц и представлений, связанных со средой данных формы, набора форм или отчета | 
| BeforeRowCoIChange | Перед тем, как пользователь изменяет активную строку или столбец объекта Grid (Таблица) | 
| Click | При нажатии и отпускании левой кнопки мыши | 
| CoramandTargetExec | При активизации программой-контейнером приложения типа Active Document (Активный документ) | 
| CoinmandTarget Query | При изменении программой-контейнером пользовательского интерфейса | 
| ContainerRelease | При закрытии программой-контейнером приложения типа Active Document (Активный документ) | 
