
Управление формами 10 Формы Управление формами
Основным элементом любого приложения является форма— контейнер, в котором размещаются другие визуальные и невизуальные компоненты. С точки зрения пользователя форма — это окно, в котором он работает с приложением. Каждой новой форме, вводимой в приложение, соответствует свой модуль (unit), описывающий эту форму как класс и включающий, если необходимо, какие-то дополнительные константы, переменные, функции и процедуры. Рассмотрим некоторые свойства, методы и события, присущие формам.
Обычно сколько-нибудь сложное приложение содержит несколько форм. Включение в проект новой формы осуществляется, например, командой File | New | Form По умолчанию все формы создаются автоматически при запуске приложения и первая из введенных в приложение форм считается главной. Главная форма отличается от прочих рядом свойств.
Во-первых, именно этой форме передается управление в начале выполнения приложения.
Во-вторых, закрытие пользователем главной формы означает завершение выполнения приложения.
В-третьих, главная форма так же, как и любая другая, может быть спроектирована невидимой, но если все остальные формы зарыты, то главная форма становится в любом случае видимой (иначе пользователь не смог бы продолжать работать с приложением и даже не смог бы его завершить).
Указанные выше условия, принятые по умолчанию (первая форма — главная, все формы создаются автоматически), могут быть изменены. Главной в вашем приложении может быть вовсе не та форма, которая была спроектирована первой. Не стоит также в общем случае все формы делать создаваемыми автоматически. В приложении могут быть предусмотрены формы (например, формы для установки различных опций), которые требуются далеко не в каждом сеансе работы с приложением. А в приложениях MDI дочерние формы в принципе не могут быть автоматически создаваемыми, так как число таких форм определяет пользователь во время работы приложения, создавая каждую новую форму командой типа Новое окно.
Изменить принятые по умолчанию условия относительно форм можно в окне опций проекта, которое вызывается командой Project | Options. В открывшемся окне опций проекта (Project Options) надо выбрать страницу Forms, представленную на рис.1.
В верхнем выпадающем списке Main forms можно выбрать главную форму среди имеющихся в проекте. Пользуясь двумя нижними окнами можно установить, какие формы должны создаваться автоматически, а какие не должны. Например, если надо исключить форму Form2 из списка автоматически создаваемых, то надо выделить ее в левом окне (Auto-create forms) и с помощью кнопки со стрелкой, направленной вправо, переместить в правое окно доступных форм (Available forms).
Для каждой автоматически создаваемой формы Delphi добавляет в файл программы соответствующий оператор ее создания методом CreateForm. Это можно увидеть, если выполнить команду Project | View Source и просмотреть появившийся файл проекта .dpr. Он может, например, содержать следующие выполняемые операторы:
Application.CreateForm(TForml, Forml);
Application.CreateForm(TAboutBox, AboutBox);
Application.Run;
Первый и второй из них создают соответствующие формы, а третий начинает выполнение приложения.
Для форм, которые были исключены из списка автоматически создаваемых, аналогичный метод CreateForm надо выполнить в тот момент, когда форма должна быть создана.
Рис1. Страница Formsокна опций проекта