- Код: Выделить всё
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
MainMenu1: TMainMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure MenuItem3Click(Sender: TObject);
procedure MenuItem4Click(Sender: TObject);
procedure MenuItem5Click(Sender: TObject);
procedure MenuItem6Click(Sender: TObject);
procedure MenuItem7Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
uses unit2;
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
label1.Caption:='Initial width: ' + inttostr(form1.Width);
label2.Caption:='Initial height: ' + inttostr(form1.Height);
label3.Caption:='Current width: ' + inttostr(form1.Width);
label4.Caption:='Current height: ' + inttostr(form1.Height);
end;
procedure TForm1.FormResize(Sender: TObject);
begin
label3.Caption:='Current width: ' + inttostr(form1.Width);
label4.Caption:='Current height: ' + inttostr(form1.Height);
end;
procedure TForm1.MenuItem2Click(Sender: TObject);
begin
form1.Close;
end;
procedure TForm1.MenuItem3Click(Sender: TObject);
begin
RunForm2;
end;
procedure TForm1.MenuItem4Click(Sender: TObject);
begin
form1.Width:=form1.Width+10;
end;
procedure TForm1.MenuItem5Click(Sender: TObject);
begin
form1.Width:=form1.Width-10;
end;
procedure TForm1.MenuItem6Click(Sender: TObject);
begin
form1.Height:=form1.Height+10;
end;
procedure TForm1.MenuItem7Click(Sender: TObject);
begin
form1.Height:=form1.Height-10;
end;
end.
- Код: Выделить всё
unit Unit2;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
Menus;
type
{ TForm2 }
TForm2 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
MainMenu1: TMainMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
procedure FormResize(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure MenuItem3Click(Sender: TObject);
procedure MenuItem4Click(Sender: TObject);
procedure MenuItem5Click(Sender: TObject);
procedure MenuItem6Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
procedure RunForm2;
var
Form2: TForm2;
implementation
{$R *.lfm}
{ TForm2 }
procedure RunForm2;
begin
with TForm2.Create(Application) do
try
label1.Caption:='Initial width: ' + inttostr(form2.Width);
label2.Caption:='Initial height: ' + inttostr(form2.Height);
label3.Caption:='Current width: ' + inttostr(form2.Width);
label4.Caption:='Current height: ' + inttostr(form2.Height);
ShowModal;
finally
free;
end;
end;
procedure TForm2.FormResize(Sender: TObject);
begin
label3.Caption:='Current width: ' + inttostr(form2.Width);
label4.Caption:='Current height: ' + inttostr(form2.Height);
end;
procedure TForm2.MenuItem2Click(Sender: TObject);
begin
ModalResult := mrOK;
end;
procedure TForm2.MenuItem3Click(Sender: TObject);
begin
form2.Width:=form2.Width+10;
end;
procedure TForm2.MenuItem4Click(Sender: TObject);
begin
form2.Width:=form2.Width-10;
end;
procedure TForm2.MenuItem5Click(Sender: TObject);
begin
form2.Height:=form2.Height+10;
end;
procedure TForm2.MenuItem6Click(Sender: TObject);
begin
form2.Height:=form2.Height-10;
end;
end.
Если понажимать в меню второй формы пункты изменения размеров, то один раз значения изменятся при ручном изменении размеров окна, и затем снова не отображаются.