Вы можете запустить форму непосредственно из интерфейса или из кода программы.
Интерактивный запуск формы
Имеется несколько способов для запуска вашей разработанной формы.
Если вы работаете в Конструкторе форм , вы можете потестировать форму щелчком на кнопке Run на панели инструментов Конструктора. Для повторного открытия формы в Конструкторе форм закройте форму или щелкните по кнопке "Изменить форму" (Modify Form) на панели инструментов.
Кроме того, вы можете запустить форму из проекта или программным способом.
Для запуска формы
-
В окне Диспетчера проекта (Project Manager) выберите имя формы на закладке "Документы" (Documents) и затем щелкните по кнопке Запустить (Run).
- или -
-
Напечатайте в командном окне "DO FORM".
- или -
-
Из меню Форма (Form) выберите пункт Запустить форму (Run Form). Вы можете, кроме того, щелкнуть по кнопке Запустить (Run) в панели инструментов Стандрартные (Standard).
Вы можете, кроме того, запустить форму, выбрав Выполнить (Do) из меню Программа (Program) с последующим выбором Форма (Form) в боксе Список типов файлов (List Files of Type), выбрать форму и щелкнуть по Выполнить (Do).
Совет |
---|
При запуске формы, вы можете быстро переключиться в режим Разработка (Design) щелчком по кнопке Изменить форму (Modify Form) на панели инструментов Стандартные (Standard). |
Для запуска формы из программы включите команду DO FORM Command в код, связанный с событием, в код метода или в саму программу или процедуру.
Наименование объекта формы
По умолчанию, когда используете команду DO FORM, имя объекта формы равно имени файла формы .scx. Например,
приведенная ниже строка кода запускает форму Customer.scx. Visual FoxPro автоматически создает для формы объектную переменную
с именем customer
:
Скопировать код | |
---|---|
DO FORM Customer |
Для именования объекта формы
-
Используйте ключевое слово NAME команды DO FORM.
Например, приведенные ниже строки кода запускают форму, создают два имени объектных переменных:
Скопировать код | |
---|---|
DO FORM Customer NAME frmCust1 DO FORM Customer NAME frmCust2 |
Управление объектом формы
Вы можете связать объект формы с глобальной переменной с тем, чтобы вы смогли обращаться к объекту форму через имя переменной.
Для связывания объекта формы с глобальной переменной
-
Используйте команду DO FORM в командном окне.
Например, приведенные ниже строки кода, выданные в командном окне, открывают форму с именем Customer
и изменяют ее заголовок.
Скопировать код | |
---|---|
DO FORM Customer Customer.Caption = "Hello" |
Если вы после этого, выдадите в командном окне приведенную ниже команду,
то она отобразит в текущем окне вывода O
, указывая, что Customer
представляет собой объект:
Скопировать код | |
---|---|
? TYPE("Customer") |
Если вы выдадите команду DO FORM в программе, то объект формы будет располагаться в зоне видимости программы. Если программа или процедура завершится, объект будет удален из памяти, но форма останется видимой. Например, вы можете исполнить приведенную ниже программу:
Скопировать код | |
---|---|
*formtest.prg DO FORM Customer |
После исполнения программы, форма останется видимой и все элементы управления на форме будут активными,
но TYPE("Customer")
возвратит U
, указывая, что Customer
представляет собой неопределенную переменную.
Приведенная ниже команда, выданная в командном окне,
будет генерировать ошибку:
Скопировать код | |
---|---|
Customer.Caption = "Hello" |
Вы, однако, можете обращаться к форме с помощью свойств ActiveForm, Forms и FormCount объекта приложения.
Привязка области видимости формы к переменной объекта формы
Вы можете связать форму с объектом формы.
Для привязки формы к объекту формы
-
Используйте команду DO FORM с ключевым словом LINKED.
Если вы включите в команду ключевое слово LINKED, то когда переменная, связанная с объектом формы выйдет за пределы области видимости, форма будет высвобождена.
Например, приведенная ниже команда создает форму, привязанную к объектной переменной frmCust2
:
Скопировать код | |
---|---|
DO FORM Customer NAME frmCust2 LINKED |
Когда переменная frmCust2
высвобождается, форма закрывается.
Закрытие активной формы
Чтобы позволить пользователю закрыть активную форму щелчком по кнопке закрытия формы или выбором "Закрыть" (Close) из меню формы, установите соответствующим образом свойство формы Closable .
Чтобы позволить пользователю закрыть активную форму
-
В окне Свойства (Properties) установите свойство Closable в (.T.).
- или -
-
Используйте команду RELEASE.
Например, вы можете закрыть и высвободить форму frmCustomer
выпуском приведенной ниже команды в программе или в
Командном окне (Visual FoxPro):
Скопировать код | |
---|---|
RELEASE frmCustomer |
Вы, кроме того, можете позволить пользователю закрыть и высвободить форму, включив приведенную ниже команду в код события Click элемента управления, такого как командная кнопка с заголовком "Quit":
Скопировать код | |
---|---|
THISFORM.Release |
Вы, кроме того, можете использовать команду RELEASE в коде, ассоциированном с объектом на форме, но любой код, который вы включите в метод Release не будет исполнен.
Предупреждение |
---|
Когда вы высвобождаете форму, вы удаляете из памяти объектную переменную, созданную для формы. Она же является единственной
для набора форм, поэтому вы не можете высвободить одну форму, не высвободив весь набор форм.
Если вы желаете высвободить набор форм, вы можете использовать |