delphi 动态创建组件,单个创建、单个销毁  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 动态创建组件,单个创建、单个销毁


效果图如下:


实现部分代码如下:


var
  rec: Integer = 0;  //记录增行按钮点击次数
 
implementation
 
{$R *.dfm}
 
 
//动态释放单个组件内存,即销毁组件
procedure TForm1.DeleteRow(Sender: TObject);
begin
  if rec < 1 then
    Exit
  else
  begin
    TPanel(Panel1.Controls[rec]).Free;  //释放单个控件内存
    TComboBox(Panel2.Controls[rec]).Free;
    TEdit(Panel3.Controls[rec]).Free;
    Dec(rec);  //增行按钮次数递减
  end;
end;
 
//动态创建单个组件
procedure TForm1.AddRow(Sender: TObject); 
var
  e:Integer;  //记录当前组件总数量
  edt: TEdit;
  pnl: TPanel;
  combo: TComboBox;
begin
  Inc(rec);  //按钮点击次数
  e := Panel3.ControlCount;   //edit数量
  //动态创建Edit
  edt := TEdit.Create(Panel3);
  edt.Parent := Panel3;
  edt.Left := Edit1.Left;
  edt.Top := Edit1.Top + (Edit1.Height + 3)*e;
  edt.Width :=Edit1.Width;
  edt.Height := Edit1.Height;
  edt.Text := 'Edit' + IntToStr(rec + 1);
  edt.Show;
  //Panel、ComboBox创建方法与Edit相同
  
end;
  

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.0433349609375 seconds