procedure TForm1.New1Click(Sender: TObject);
var
I:Integer;
begin
for I:=ControlCount-1 downto 0 do
if Controls.Classname<>'TPanel' then
Controls.Free;
Counter:=0;
end;
procedure TForm1.Open1Click(Sender: TObject);
var
S:TFileStream;
New:TComponent;
begin
if OpenDialog1.Execute then
begin
New1Click(self);
S:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
try
while S.Position<S.Size do
begin
New:=S.ReadComponent(nil);
InsertControl(New as TControl);
Inc(Counter);
end;
finally
S.Free;
end;
end;
end;
procedure TForm1.SaveAs1Click(Sender: TObject);
var
S:TFileStream;
I:Integer;
begin
if SaveDialog1.Execute then
begin
S:=TFileStream.Create(SaveDialog1.FileName,fmOpenWrite or fmCreate);
try
for I:=0 to ControlCount-1 do
if Controls.ClassName<> 'TPanel' then
S.WriteComponent(Controls);
finally
S.Free;
end;
end;
end;
所谓动态生成组件是指在可执行文件中,用鼠标点激窗口时他能在那个位置生成你须要的
可视的组件,上面是中的的事件,他们用来打开或存储动态生成组件,我说过,此法只
能存储动态生成组件的属性,但没法存储动态生成组件的事件,象Click之类的事件,存储
后,在打开就没法用。
望各位能再想想,如何才能存储动态生成组件的事件,谢谢。