Вы можете запустить форму непосредственно из интерфейса или из кода программы.

Интерактивный запуск формы

Имеется несколько способов для запуска вашей разработанной формы.

Если вы работаете в Конструкторе форм , вы можете потестировать форму щелчком на кнопке Run на панели инструментов Конструктора. Для повторного открытия формы в Конструкторе форм закройте форму или щелкните по кнопке "Изменить форму" (Modify Form) на панели инструментов.

Кроме того, вы можете запустить форму из проекта или программным способом.

Для запуска формы

  1. В окне Диспетчера проекта (Project Manager) выберите имя формы на закладке "Документы" (Documents) и затем щелкните по кнопке Запустить (Run).

    - или -

  2. Напечатайте в командном окне "DO FORM".

    - или -

  3. Из меню Форма (Form) выберите пункт Запустить форму (Run Form). Вы можете, кроме того, щелкнуть по кнопке Запустить (Run) в панели инструментов Стандрартные (Standard).

Вы можете, кроме того, запустить форму, выбрав Выполнить (Do) из меню Программа (Program) с последующим выбором Форма (Form) в боксе Список типов файлов (List Files of Type), выбрать форму и щелкнуть по Выполнить (Do).

NoteСовет

При запуске формы, вы можете быстро переключиться в режим Разработка (Design) щелчком по кнопке Изменить форму (Modify Form) на панели инструментов Стандартные (Standard).

Для запуска формы из программы включите команду DO FORM Command в код, связанный с событием, в код метода или в саму программу или процедуру.

Наименование объекта формы

По умолчанию, когда используете команду DO FORM, имя объекта формы равно имени файла формы .scx. Например, приведенная ниже строка кода запускает форму Customer.scx. Visual FoxPro автоматически создает для формы объектную переменную с именем customer:

 CopyCode imageСкопировать код
DO FORM Customer

Для именования объекта формы

  • Используйте ключевое слово NAME команды DO FORM.

Например, приведенные ниже строки кода запускают форму, создают два имени объектных переменных:

 CopyCode imageСкопировать код
DO FORM Customer NAME frmCust1
DO FORM Customer NAME frmCust2

Управление объектом формы

Вы можете связать объект формы с глобальной переменной с тем, чтобы вы смогли обращаться к объекту форму через имя переменной.

Для связывания объекта формы с глобальной переменной

  • Используйте команду DO FORM в командном окне.

Например, приведенные ниже строки кода, выданные в командном окне, открывают форму с именем Customer и изменяют ее заголовок.

 CopyCode imageСкопировать код
DO FORM Customer
Customer.Caption = "Hello"

Если вы после этого, выдадите в командном окне приведенную ниже команду, то она отобразит в текущем окне вывода O, указывая, что Customer представляет собой объект:

 CopyCode imageСкопировать код
? TYPE("Customer")

Если вы выдадите команду DO FORM в программе, то объект формы будет располагаться в зоне видимости программы. Если программа или процедура завершится, объект будет удален из памяти, но форма останется видимой. Например, вы можете исполнить приведенную ниже программу:

 CopyCode imageСкопировать код
*formtest.prg
DO FORM Customer

После исполнения программы, форма останется видимой и все элементы управления на форме будут активными, но TYPE("Customer") возвратит U, указывая, что Customer представляет собой неопределенную переменную. Приведенная ниже команда, выданная в командном окне, будет генерировать ошибку:

 CopyCode imageСкопировать код
Customer.Caption = "Hello"

Вы, однако, можете обращаться к форме с помощью свойств ActiveForm, Forms и FormCount объекта приложения.

Привязка области видимости формы к переменной объекта формы

Вы можете связать форму с объектом формы.

Для привязки формы к объекту формы

  • Используйте команду DO FORM с ключевым словом LINKED.

Если вы включите в команду ключевое слово LINKED, то когда переменная, связанная с объектом формы выйдет за пределы области видимости, форма будет высвобождена.

Например, приведенная ниже команда создает форму, привязанную к объектной переменной frmCust2:

 CopyCode imageСкопировать код
DO FORM Customer NAME frmCust2 LINKED

Когда переменная frmCust2 высвобождается, форма закрывается.

Закрытие активной формы

Чтобы позволить пользователю закрыть активную форму щелчком по кнопке закрытия формы или выбором "Закрыть" (Close) из меню формы, установите соответствующим образом свойство формы Closable .

Чтобы позволить пользователю закрыть активную форму

  1. В окне Свойства (Properties) установите свойство Closable в (.T.).

    - или -

  2. Используйте команду RELEASE.

Например, вы можете закрыть и высвободить форму frmCustomer выпуском приведенной ниже команды в программе или в Командном окне (Visual FoxPro):

 CopyCode imageСкопировать код
RELEASE frmCustomer

Вы, кроме того, можете позволить пользователю закрыть и высвободить форму, включив приведенную ниже команду в код события Click элемента управления, такого как командная кнопка с заголовком "Quit":

 CopyCode imageСкопировать код
THISFORM.Release

Вы, кроме того, можете использовать команду RELEASE в коде, ассоциированном с объектом на форме, но любой код, который вы включите в метод Release не будет исполнен.

Caution noteПредупреждение

Когда вы высвобождаете форму, вы удаляете из памяти объектную переменную, созданную для формы. Она же является единственной для набора форм, поэтому вы не можете высвободить одну форму, не высвободив весь набор форм. Если вы желаете высвободить набор форм, вы можете использовать RELEASE THISFORMSET. Если вы желаете удалить форму с экрана для того, чтобы пользователь в дальнейшем не мог видеть ее, вам достаточно использовать THISFORM.Hide.

Смотрите также