📄 unit2.pas
字号:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin;
type
TForm2 = class(TForm)
SpinEdit1: TSpinEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormClick(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses unit1;
{$R *.dfm}
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); // 子窗口退出处理事件
var
i:integer;
begin
Form2_Count:=Form2_Count-1;// 子窗口总数减1
Form2_Temp_Array:=nil;//释放临时动态数组
SetLength(Form2_Temp_Array,Form2_Count);//重新为临时动态数组设置长度
for i:=0 to Form2_Count-1 do //用Form2_Temp_Array重新组合Form2_Array的元素
begin
if i<Tag-1 then //根据要退出窗口的Tag属性划分左右边界
begin
Form2_Temp_Array[i]:=Form2_Array[i];// 把位于退出窗口左面的Form2_Array元素直接置给Form2_Temp_Array对应的元素
end
else
begin
Form2_Temp_Array[i]:=Form2_Array[i+1]; //把位于退出窗口右面的Form2_Array元素差拍地置给Form2_Temp_Array对应的元素
Form2_Temp_Array[i].Tag:=i+1;//重新调整子窗口的Tag属性
end;
end;
Form2_Array:=nil;
Form2_Array:=Form2_Temp_Array; //把已整理好的Form2_Temp_Array置给Form2_Array
Action:=caFree;
for i:=0 to Form2_Count-1 do
Form2_Array[i].Caption:='第'+InttoStr(Form2_Array[i].Tag)+'个窗口';
Form1.N3Click(self);//更改主子窗口的计算结果
end;
procedure TForm2.FormClick(Sender: TObject);
begin
Showmessage('本窗口的Tag是:'+IntToStr(Tag)+';可通过名为Form2['+IntToStr(Tag-1)+']的形式来显式调用该窗口!');
end;
procedure TForm2.SpinEdit1Change(Sender: TObject);
begin
Form1.N3Click(self);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -