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;
  

相关阅读 >>

Delphi textfile读取文本文件

Delphi7调用Delphi xe2 中间层注意事项

Delphi 生成并替换txt里的内容

Delphi图像数据压缩解压缩实例

Delphi idhttp控件:get/post 请求

Delphi 结构化文件存取

Delphi获得某个磁盘或是文件夹的所有子目录

Delphi 调用相应程序打开网址

Delphi 让scrollbox响应鼠标的滚动消息

Delphi 使用fastscript调试脚本

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...