Использование базовых классов при создании форм
Команда 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 (Активный документ) |