在DELPHI中动态生成的控件怎么响应消息
展开全部
var
I :Integer = 1;
F :TextFile;
Path :String;
procedure TForm1.Button1Click(Sender: TObject);
var
B :TButton;
E :TEdit;
begin
E := TEdit.Create(Self); //动态创建Tedit控件
E.Parent := Self; //指定edit控件的父类是窗体。
E.SetBounds(100 * I,40,50,20);
E.Text := IntToStr(I); //初始控件的text属性.
E.Name := 'E' + IntToStr(I); //重命名控件
E.Tag := I; //控件的标识信息.
Path := 'dynamiceditN.txt';
B := TButton.Create(Self);
B.Parent := Self;
B.SetBounds(100*I,20,40,20);
B.OnClick := ButtonOnClick;
B.Name:='B' + IntToStr(I);
B.Tag := I;
Inc(I);
end;
procedure TForm1.ButtonOnClick(Sender: TObject);
var J:Integer;
begin
try
AssignFile(F,path);
if not FileExists(Path) then begin //判断是否存在文件
ReWrite(F); //如果不存在就建立一个空文件.
end else Append(F);//如果存在就以追加方式打开文件.
for J := 0 to Self.ControlCount -1 do //遍历窗体所有控件.
if (Self.Controls[J] is TEdit) and (Self.Controls[J].Tag = TButton(Sender).Tag) then begin
WriteLn(F,TEdit(Self.Controls[J]).Text); //条件1:是否是TEdit控件.条件2:是否与按钮相对应
Break; //找到一个后就跳出.因为只是单击一个按钮一下.
end;
finally
CloseFile(F); //关闭文件.
end;
end;
够明白吗?.在Delghi7已经给你测试过了.以上代码属于个人所写..
I :Integer = 1;
F :TextFile;
Path :String;
procedure TForm1.Button1Click(Sender: TObject);
var
B :TButton;
E :TEdit;
begin
E := TEdit.Create(Self); //动态创建Tedit控件
E.Parent := Self; //指定edit控件的父类是窗体。
E.SetBounds(100 * I,40,50,20);
E.Text := IntToStr(I); //初始控件的text属性.
E.Name := 'E' + IntToStr(I); //重命名控件
E.Tag := I; //控件的标识信息.
Path := 'dynamiceditN.txt';
B := TButton.Create(Self);
B.Parent := Self;
B.SetBounds(100*I,20,40,20);
B.OnClick := ButtonOnClick;
B.Name:='B' + IntToStr(I);
B.Tag := I;
Inc(I);
end;
procedure TForm1.ButtonOnClick(Sender: TObject);
var J:Integer;
begin
try
AssignFile(F,path);
if not FileExists(Path) then begin //判断是否存在文件
ReWrite(F); //如果不存在就建立一个空文件.
end else Append(F);//如果存在就以追加方式打开文件.
for J := 0 to Self.ControlCount -1 do //遍历窗体所有控件.
if (Self.Controls[J] is TEdit) and (Self.Controls[J].Tag = TButton(Sender).Tag) then begin
WriteLn(F,TEdit(Self.Controls[J]).Text); //条件1:是否是TEdit控件.条件2:是否与按钮相对应
Break; //找到一个后就跳出.因为只是单击一个按钮一下.
end;
finally
CloseFile(F); //关闭文件.
end;
end;
够明白吗?.在Delghi7已经给你测试过了.以上代码属于个人所写..
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询