我希望用户创建自己的控件列表,例如TEdit
,TCheckBox
,TLabel
和其他内容。但是,当我必须预定义每个控件时,我怎么能再创建另一个控件,但是我不知道要定义多少个对象?
答案 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
,并使用Length
和SetLength
函数来确定用户添加到表单中的对象数量。