Delphi 动态创建控件,并绑定控件事件

Posted yangxuming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi 动态创建控件,并绑定控件事件相关的知识,希望对你有一定的参考价值。

type
  TForm13 = class(TForm)
    Button1: TButton;
    ScrollBox1: TScrollBox;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure myClick(sender: TObject);
  public
    { Public declarations }
  end;

var
  Form13: TForm13;

implementation

{$R *.dfm}

procedure TForm13.Button1Click(Sender: TObject);
const
  iHtoH = 20; //行间距
  iWtoW = 10; //列间距
  iPerLine = 6; //每行个数
  iWidth = 80; //按钮宽度
var
  i: Integer;
begin
  for i := 1 to 30 do
  begin
    with TButton.Create(Self) do
    begin
      Name := Btn + InttoStr(i);
      Parent := Self.ScrollBox1;
      Caption := Name;
      Top := iHtoH + (30 + iHtoH) * (i div iPerLine - integer((i mod iPerLine) = 0));
      Left := iWtoW + (iWidth + iWtoW) * ((i - 1) mod iPerLine);
      if Name = Btn5 then
      begin
        OnClick := myClick;
      end;
      Show;
    end;
  end;
end;

procedure TForm13.myClick(sender: TObject);
begin
  ShowMessage(hello,world!);
end;

 

以上是关于Delphi 动态创建控件,并绑定控件事件的主要内容,如果未能解决你的问题,请参考以下文章

DELPHI TPanel 控件KEYDOWN事件中删除自己报错

delphi 窗体移动事件

在 Asp.net C# 中创建动态控件,并缓存控件并绑定数据

winform怎么动态生成多个panel控件,并且生成两个控件换一行呢?

动态创建到 WPF 表单的用户控件上的按钮单击事件

JQuery 动态添加控件ID,无法触发点击事件