动态创建Ⅰ

//单独动态创建一个控件;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  myPanel : TPanel;
begin

   myPanel := TPanel.Create(nil);

//关于Create(nil)和Create(Self)的区别是:

//create(nil) 代表 object 创建无属主,create(self) 一般代表object归属于当前目标而已,

//create(nil)需要自己释放内存,create(self)由self对象负责释放创建的对象,当Self释放时自动触发释放

with myPanel do
   begin
     Parent := Form1;//如果没有这句,新创建的myPanel将不会显示在窗体上
     Left := 100;//位置信息
     Top := 100;
     Width := 200;//大小信息
     Height := 200;
   end;
end;

原文地址:https://www.cnblogs.com/lingzhiwen/p/3704928.html