Двойной щелчок по любой из форм в менеджере проектов загрузит форму в дизайнер для редактирования. В принципе, новая форма уже открыта, и нам не надо дважды щелкать мышью. Хотя можете попробовать, и Delphi моментально откроет форму для редактирования. В дальнейшем при редактировании вам это пригодится, чтобы открывать дочерние окна с целью их изменения.
Давайте сразу сохраним новую форму. Для этого при выделенной новой форме нажмите комбинацию клавиш <Ctrl>+<S>. Перед вами появится стандартное окно для ввода имени формы. Ранее указывалось, что имена нужно задавать осмысленные. В книге иногда происходит отступление от этого правила, чтобы вам легче было читать, но в реальных проектах вы должны делать все осмысленно, иначе потом будет тяжело работать.
Данное окно у нас будет показывать информацию о программе, поэтому назовем его AboutUnit.pas. Модуль главной формы переименуем в MainUnit.pas.
Этот метод закрывает форму, а если мы закрываем главную форму, то закроется все приложение.
Напоследок необходимо узнать, как меню подключается к форме. Когда вы поместили новый компонент MainMenu на форму, то он автоматически появился в свойстве формы Menu. Если вы удалите название компонента из этого свойства, то меню исчезнет. Если вы укажете другой компонент меню, то в качестве меню для формы будет использоваться указанный компонент.
Сразу измените и имя формы с Form2 на AboutForm. После этого изменим заголовок формы на О программе. Можете еще приукрасить как-нибудь эту форму. Установим несколько компонентов TLabel, чтобы сделать надписи. Но это уже неважно. Для нас главное — научиться работать с этими формами (пример формы показан на рис.)
Теперь нужно показать это окно. Давайте создадим обработчик события onclick для пункта меню О программе нашей главной формы. Когда вы создаете обработчик, Delphi даст процедуре непонятное название типа N4ciick. Если бы заголовок меню был бы написан на английском, то имя обработчика было бы хоть немного понятным, потому что Delphi использовало бы имя меню и слово Click. Но у нас все написано на родном языке, а его в коде программы использовать нельзя, поэтому среда разработки изменяет его на букву N с номером. Число у вас может отличаться. Мы договорились, что все будем называть понятными именами, поэтому переименуйте ее в объектном инспекторе в Aboutciick. Для переименования достаточно напечатать в объектном инспекторе новое имя напротив события onclick и нажать клавишу <Enter>.
Теперь в получившемся обработчике напишем следующее:
begin
AboutForm. ShowModa 1 ;
end;
В этом коде мы вызываем метод showModai окна AboutForm. Этот метод показывает форму в режиме Modal (Модальный). В этом режиме окно получает полное управление, и пока оно не закроется, главная форма не будет работать.
Если вы попробуете сейчас откомпилировать код, то получите ошибку. В Delphi 5 это будет просто ошибка, означающая, что AboutForm не найдена. Это потому, что данная форма описана в нашем модуле Aboutunit, а мы используем ее В MainUnit. Чтобы MainUnit СМОГ уви- деть форму, описанную В AboutUnit, нужно ее подключить. Для этого перейдите в модуль MainUnit и из меню File (Файл) выберите пункт Use Unit (Использовать модуль). Перед вами откроется окно, как показано на рис. 9.10. В этом окне нужно выбрать модуль, который требуется подключить, и нажать кнопку ОК. Что после этого изменится? Посмотрим на следующий фрагмент нашего модуля MainUnit:
Form1: TForm1;
implementation
uses AboutUnit;
{$R *. dfm}
Как видите, здесь появилась новая строка uses. Точно такая же есть и в начале модуля, но там мы подключали стандартные заголовочные модули, необходимые при описании. Здесь же мы подключаем модули, которые необходимы только при реализации, и самостоятельно написанные модули чаще всего относятся именно к таким (не обязательно, но в основном они нужны только при реализации).
Строку uses можно написать и вручную в указанном выше месте и не выполнять никаких действий. Так что выбирайте, какой способ вам удобнее, — прописывать вручную или делать это автоматически с помощью меню File | Use Unit.
Теперь перейдем К форме MainUnit. Мы ПОДКЛЮЧИЛИ наш МОДУЛЬ AboutUnit и можем смело использовать его содержимое.
Обладатели Delphi 6-й и более поздней версии находятся в более удобном положении. Если вы забыли подключить модуль и попытались откомпилировать код, то, помимо ошибок, вы увидите окно с сообщением, как это показано на рис. 9.11. Здесь написано, что вы из главного модуля ссылаетесь на форму AboutForm, которая объявлена в модуле AboutUnit. Вам также предлагается подключить этот модуль. Если вы нажмете Yes (Да), то Delphi моментально сделает все действия для подключения
Вот теперь можно компилировать код еще раз, и программа будет собрана без ошибок. Запустите приложение и попробуйте выбрать пункт меню О программе. Если вы все сделали правильно, то увидите вторую созданную нами форму.