В приложении сложно обойтись одной главной формой. Поэтому приходиться добавлять другие формы и взаимодействовать с ними.
Для того чтобы добавить новую форму в проект заходим в пункт меню File -> New -> Form. Или нажимаем на значок создания новой формы в панели инструментов.
Добавив новую форму, она будет выглядеть также как и основная. При создании форма получит имя Form2 (число обозначает номер создаваемой формы) и связанный модуль формы Unit2. В новую форму можно добавлять компоненты также как и в главную. Но для чтобы дополнительная форма отобразилась в программе нам нужно будет создавать обработчик события.
Мы можем отображать формы в Delphi двумя способами:
Модально - пользователь имеет возможность работать только в одной форме и прежде чем перейти к другой, необходимо закрыть модальную форму.
Немодально - пользователь может одновременно работать с несколькими формами.
Для того чтобы отобразить форму модально нужно записать такой код:
Form2.ShowModal;
для не модальной:
Form2.Show;
При ссылке на другую форму необходимо помнить о взаимосвязи между формами и модулями. Любая форма имеет свой модуль, при создании формы Delphi автоматически создает код модуля и в процессе работы добавляются разнообразные участки кода или пользователем или автоматически средой Delphi.
Поэтому модуль второй формы должен быть включен с помощью зарезервированного слова uses текущего модуля. Проще это сделать выбрав команду File -> Use Unit (файл использовать модуль). Выбрав нужный модуль ссылка на него автоматически добавиться.
Но если мы забудем это сделать то при компиляции программы появиться диалоговое окно. В нем будет сказано, что первая форма использует вторую, но модуль второй формы отсутствует в списке uses модуля первой формы. Нам достаточно нажать на кнопку Yes и необходимая ссылка будет добавлена.
Можно также производить изменения с отдельными компонентами и свойствами другой формы.
Для закрепления материала создадим вторую форму. Присоединим модуль второй формы к первой, описанным выше способом. В первой форме расположим простую кнопку и компонент Edit. В обработчике кнопки запишем следующий код:
Form2.Caption := Edit1.Text;
Form2.ShowModal;
Запустив программу и нажав на кнопку, мы откроем вторую форму модально, заголовок у нее будет взят из свойства Text компонента Edit первой формы.