请问在panel中创建一个新的窗体怎样把前面创建的释放(50分)

S

singe

Unregistered / Unconfirmed
GUEST, unregistred user!
请问在panel中创建一个新的窗体怎样把前面创建的释放
我先创建一个窗体
在第二次创建时把第一次创建的释放
请问要怎样写代码
procedure TMainfrm.N18Click(Sender: TObject);
var
a: Tpurposefrm;
begin

a := Tpurposefrm.Create(Panel1);
a.parent := Panel1;
a.Align := alclient;
a.Visible := true;
Panel2.Visible := false;
end;
 
I

icc

Unregistered / Unconfirmed
GUEST, unregistred user!
//如果你希望panel只容纳一个窗体,可以这样写
var
i: integer;
a: Tpurposefrm;
begin
//清除panel上的窗体
for i:= 0 to Panel1.ControlCount - 1do
if (Panel1.Controls is TForm) then
(Panel1.Controls as TForm).Free;
//新建窗体
a := Tpurposefrm.Create(Panel1);
//创建时要指定Owner为Panel
a.parent := Panel1;
a.Align := alclient;
a.Visible := true;
Panel2.Visible := false;
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
565
import
I
顶部