如何在Delphi中动态制作多个标签,编辑等?

时间:2013-04-01 17:54:48

标签: delphi list controls delphi-2009

我希望用户创建自己的控件列表,例如TEditTCheckBoxTLabel和其他内容。但是,当我必须预定义每个控件时,我怎么能再创建另一个控件,但是我不知道要定义多少个对象?

1 个答案:

答案 0 :(得分:2)

这是你应该做的就是知道它的类类型来创建每个对象:

var
  Obj:TControl;
begin
  Obj := TEdit.Create(AOwner);
  with Obj do begin
    //Set properties here...
    ...
    Parent := Self;    //Assuming that you're writing code in your form class. if not, use object variable pointing to your form instead of `self`
  end;
end;

要存储未知数量的对象,您可以使用动态数组或链接列表,也可以使用表单的Controls属性。

这是你想要做的事情的开始(基础)。您有很多选择来实现这部分应用程序。例如,您可以在表单类中使用array of TControl,并使用LengthSetLength函数来确定用户添加到表单中的对象数量。