如何动态创建窗体?(50分)

  • 主题发起人 主题发起人 ifillbad
  • 开始时间 开始时间
I

ifillbad

Unregistered / Unconfirmed
GUEST, unregistred user!
如何动态创建窗体?
譬如说用form1.button1.onclick 事件!
要求每按一下创建一个新的form且是form2 form3 form4这样的!
我 一直搞不懂 动态创建 !请高手赐教!
 
procedure form1.button1.onclick(sender as object) ;
var
form2:tform;
begin
form2:=tform.create(application);
form2.show;
end;
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
i : integer;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
aFrm : TForm;
begin
i := i + 1;
aFrm := TForm.Create(self);
aFrm.Name := 'Form' + IntToStr(i);
aFrm.Caption := aFrm.Name;
aFrm.Show;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
i := 1;
end;

end.
 
谢谢你!为什么用application呢?用self为什么不行?那些要用self那些要用application呢?
谢谢!
 
不明白你的意思!
如果楼主的意思是form2:Tform2,form3:Tform3。已经存在
则就是创建 类的一个实例,如果不存在 Tform2类 ,硬要创建 那不可能

请你说明白!
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2513646
 
我用
幻世星龙
留香客
两位高手的方法实现了!
yf168
你试试!
 
分送出了!请查收!谢谢两位高手!
 
ifillbad 以后不会再回答你的问题!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部