Способы отображения и виды форм

Имеется два способа отображения форм в Delphi:

1. Модально: форма должна быть закрыта пользователем, прежде чем можно будет выполнять работу на другой форме. Преимущество: предотвращение работы пользователя в другом окне во время выполнения важной операции за счет ограничения доступа только к данному окну. Для модального отображения используется команда Form2.ShowModal.

2. Немодально: разрешается одновременный доступ к работе на разных формах. Для немодального отображения используется команда Form2.Show.

Ññûëêè íà ìîäóëè

Èç-çà òîãî, ÷òî êàæäàÿ äîïîëíèòåëüíàÿ ôîðìà ñîõðàíÿåòñÿ â îòäåëüíîì ôàéëå, òî è ñâÿçü ìåæäó ôîðìàìè íàäî îôîðìëÿòü íà óðîâíå ôàéëîâ ïîñðåäñòâîì ñâÿçè ìîäóëåé.

Íàïðèìåð, Form1 ïðè ðàáîòå âûçûâàåò Form2, à òà ,â ñâîþ î÷åðåäü, Form3, à Form3 âûçûâàåò Form1, то для создания соответствующих связей надо выполнить следующие действия:

1. Создать основную форму- из меню File выполнить командуNew Application.

2. Добавить еще 2 формы: из меню File дважды выполнить командуNew Form.

3. Выделить Form1. В меню File выбрать команду Use Unit, далее появится окно, в котором появится список всех форм данного приложения. Из списка нужно выбрать нужное (Form2) и нажать ОК.

4. Выделить Form2. В меню File выбрать команду Use Unit, далее появится окно, в котором появится список всех форм данного приложения. Из списка нужно выбрать нужное (Form3) и нажать ОК.

5. Выделить Form3. В меню File выбрать команду Use Unit, далее появится окно, в котором появится список всех форм данного приложения. Из списка нужно выбрать нужное (Form1) и нажать ОК.

После выполнения этих шагов Delphi автоматически добавит команды об используемых модулях во всех файлах в разделах Implementation и Interface

unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type Tform1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: Tobject); procedure Button2Click(Sender: Tobject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit2; {$R *.DFM} procedure Tform1.Button1Click(Sender: TObject); begin form2.Show; end; procedure TForm1.Button2Click(Sender: TObject); begin close; end; end. unit Unit2; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: Tform2; implementation uses Unit3; {$R *.DFM} procedure TForm2.Button1Click(Sender: TObject); begin form3.showmodal; end; procedure TForm2.Button2Click(Sender: TObject); begin close; end; end. unit Unit3; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm3 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; implementation uses Unit1; {$R *.DFM} procedure TForm3.Button1Click(Sender: TObject); begin form1.show; end; procedure TForm3.Button2Click(Sender: TObject); begin close; end; end.


Óïðàâëåíèå ìîäóëÿìè

Ïðè ðàáîòå ñ ïðîåêòîì, ñîäåðæàùèì íåñêîëüêî ôîðì, óäîáíî âûïîëíÿòüïåðåêëþ÷åíèå ìåæäó íèìè îäíèì èç 2 ñïîñîáîâ:

· ìåíþ View/Project Manager

· ìåíþ View/Unit èëè ìåíþ View/Form.

Наши рекомендации