永发信息网

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

答案:2  悬赏:80  手机版
解决时间 2021-02-14 17:04
  • 提问者网友:斑駁影
  • 2021-02-14 01:49
在DELPHI中动态生成的控件怎么响应消息
最佳答案
  • 五星知识达人网友:风格不统一
  • 2021-02-14 02:38
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已经给你测试过了.以上代码属于个人所写..
全部回答
  • 1楼网友:封刀令
  • 2021-02-14 03:50
procedure myonclick(sender: tobject);button1.onclick myonclick;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯