📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Unit2, Unit3, Unit4;
type
TFromclass=class of TForm;
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
Fform2:Tform2;
Fform3:Tform3;
function createdform(fromclass:TFromclass):TForm;
public
{ Public declarations }
end;
implementation
{$R *.dfm}
function TForm1.createdform(fromclass:TFromclass):TForm;
var
lForm:TForm;
tmpstr:string;
begin
lForm:=fromclass.Create(self);
//这里可以添加统一控制代码
//记录窗体创建的时间
tmpstr:=lForm.Caption+'['+formatdatetime('hh:mm:ss',now)+']创建!';
memo1.Lines.Add(tmpstr);
result:=lForm;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//非模态窗体只需创建一次,该窗体关闭时只是隐藏起来,并没有消失。
if (Fform2=nil) then
Fform2:=Tform2(createdform(Tform2));
//对于已经创建的非模态窗体(包括隐藏起来的)通过Show来调用并显示。
Fform2.Show;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
OKHelpBottomDlg:TOKHelpBottomDlg;
begin
//对话框是模态窗体,这里演示模态窗体的使用
OKHelpBottomDlg:=TOKHelpBottomDlg(createdform(TOKHelpBottomDlg));
try
if (OKHelpBottomDlg.ShowModal=mrOK)
then showmessage('OK!退出对话框!');//这里可添加必要的代码
finally
OKHelpBottomDlg.free;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if (Fform3=nil) then
Fform3:=(createdform(Tform3) as TForm3);
Fform3.Show;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -