在同一事件delphi能否连续重叠动态创建组件?

来源:百度知道 编辑:UC知道 时间:2024/05/11 19:57:14
例如:点击button1,在设置时已经添加的groupbox1中动态生成一个mymemo,同时又在mymemo中动态生成mylabel.(mylabel在mymemo之中)。
var
mymemo:Tmemo;
lbl:Tlabel;
begin
mymemo:=Tmemo.Create(APPLICATION);
mymemo.Parent :=self.GroupBox1 ;
mymemo.Align :=alclient;
lbl:=TLabel.Create(mymemo);
lbl.Parent :=self.mymemo;//这里出现问题
lbl.Left:=1;
lbl.Top :=1;
lbl.Caption :='red';
end;
上述功能是否能实现?有办法吗?

procedure TForm1.FormCreate(Sender: TObject);
var
mymemo:Tmemo;
lbl:Tlabel;
begin
mymemo:=Tmemo.Create(Self);//你的Memo是属于窗体的,这里还是用Self,不要用Application
mymemo.Parent :=self.GroupBox1 ;
mymemo.Align :=alclient;
lbl:=TLabel.Create(mymemo);
lbl.Parent := mymemo;//你声明myMemo是一个本地指针变量,并不是本窗体类的成员,所以不要用Self.
lbl.Left:=1;
lbl.Top :=1;
lbl.Caption :='red';
end;