« Назад
Форма – это объект, предназначенный для управления данными и их отображения.
Форма может быть создана в проектировщике форм или программно.
Формы, созданные интерактивно, записываются в файл с расширением SCX. Файл для memo-данных формы имеет расширение SCT.
Проектируемая форма, если она входит в проект, является объектом – файлом коллекции Files объекта Project и может управляться как средствами интерфейса, так программно.
Пример. Выводятся имена всех форм активного проекта, включаемых в приложение при его генерации.
oProj = _VFP.ActiveProject
for each file in oProj.Files
if Upper(file.FileClass) = 'FORM' and not file.Exclude then
? file.Name
endif
next
Исполняемая форма является объектом и модифицируется программно, то есть на этапе исполнения в нее могут быть добавлены объекты и изменены свойства формы и ее элементов управления.
Команда
CREATE FORM [FormName | ?] [AS cClassName FROM cClassLibraryName | ?] [NOWAIT] [SAVE] [DEFAULT] [[WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN]]
открывает проектировщик формы для ее создания.
Опции и параметры (см. также табл. 1.6):
FormName – имя файла формы. Если расширение не задано, то берется SCX. При открытии проектировщика команда учитывает установку SET SAFETY.
AS cClassName FROM cClassLibraryName | ? – создает форму на базе класса cClassName библиотеки классов cClassLibraryName. Класс cClassName должен базироваться на классе FORM. Если указать ?, то будет открыт диалог Open для выбора библиотеки классов.
DEFAULT – указывает, что проектировщик форм открывается с заданным в VFP по умолчанию шаблоном форм, замещая шаблон, заданный на вкладке Forms диалога Tools – Options.
Команда
MODIFY FORM [FormName | ?] [NOWAIT] [METHOD MethodName] [NOENVIRONMENT] [SAVE] [[WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN]]
открывает проектировщик формы для ее изменения или создания.
Опции и параметр (см. также табл. 1.6):
METHOD MethodName – задает событие или метод, окно с кодом которого появляется при открытии проектировщика. Параметр MethodName задается с использованием синтаксиса для объектов VFP. Так, чтобы открыть код обработчика события Click элемента управления txtFirstName в форме frmAddress, следует употребить команду
modify form frmAddress method txtFirstName.Click
Если имя элемента управления опущено
modify form frmAddress method Click
то откроется обработчик события Click самой формы.
NOENVIRONMENT – включена для совместимости с версиями 2.x; предотвращает восстановление окружения, сохраненного с формой.
В VFP окружение данных (объект DataEnvironment), ассоциируемое с формой, восстанавливается, если свойство AutoOpenTables окружения установлено в .T. (что задано по умолчанию). Окружение данных формы будет закрываться, если свойство окружения AutoCloseTables установлено в .T., что также задано по умолчанию.
При создании или изменении формы можно сохранить текущее окружение данных VFP в файле формы. При этом в этот файл будут добавлены данные обо всех открытых таблицах, индексных файлах, управляющем индексе и отношениях между таблицами.
Если в качестве имени формы нужно использовать строку, то применяется выражение с именем, например:
modify form (Home(2) + 'Solution\Controls\Timer\Swatch.scx')
Открытая форма модифицируется средствами меню Form, Format, View Edit, также при помощи панелей инструментов: FormDesigner, Layout, FormControls (рис. 10.1) и др.

Рис. 10.1. Панели инструментов: а – FormDesigner; б – Layout; в – FormControls
Замечание. Примеры для форм и других объектов VFP можно просмотреть, выполнив команду
do (Home(2) + 'Solution\Solution.app')
|