在DELPHI中动态生成的控件怎么响应消息

 我来答
博飞港澳台联考
高粉答主

推荐于2016-05-30 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.9万
采纳率:93%
帮助的人:9579万
展开全部
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已经给你测试过了.以上代码属于个人所写..
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式