[TButton]运行时动态创建和删除按钮

So丶陌轩

So丶陌轩

2016-02-19 12:51

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

  新开一个project,然后拖两个Button放在窗体上
  代码如下:
  
  unit Unit1;

  interface

  uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;

  type
    TForm1 = class(TForm)
      btnAddButton: TButton;
      btnDeleteLast: TButton;
      procedure btnAddButtonClick(Sender: TObject);
      procedure btnDeleteLastClick(Sender: TObject);
    private
      { Private declarations }
      procedure CustomButtonClick(Sender: TObject);
    public
      { Public declarations }
    end;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  var
    Form1: TForm1;

  implementation

  {$R *.dfm}

  procedure TForm1.btnAddButtonClick(Sender: TObject);
  var
    NewButton: TButton;   // 新 Button的指针
  begin
    // 在内存中创建一个 Button,拥有者为self,这样当窗体 destory时,这个新button
    // 能够被自动释放
    NewButton := TButton.Create(Self);

    With NewButton do
    begin
      Top := 60;          // button 的出现的坐标
      Width := 60;        // button 的宽度
      Left := Width * (Self.ControlCount - 2);
      Parent := Self;     // 指明在那个窗体显示
      OnClick := CustomButtonClick;       // 指定button click事件
      Caption := 'Button' + IntToStr(Self.ControlCount - 2);
    end;  // with
  end;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  procedure TForm1.btnDeleteLastClick(Sender: TObject);
  begin
    // 确定窗体上有新的button
    if Self.ControlCount 2 then
      // 删除最后新建的 button
      TButton(Controls[ControlCount - 1]).Destroy;
  end;

  procedure TForm1.CustomButtonClick(Sender: TObject);
  begin
    // 根据 Sender 来判断哪个新建的button click
    ShowMessage(TButton(Sender).Caption + ' Pressed');
  end;

  end.
  
  
  作者:lzcx

展开更多 50%)
分享

猜你喜欢

[TButton]运行时动态创建和删除按钮

编程语言 网络编程
[TButton]运行时动态创建和删除按钮

JScript 运行时错误

编程语言 网络编程
JScript 运行时错误

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

运行时生成控件

Delphi
运行时生成控件

celluloid如何创建和编辑按钮

电脑网络
celluloid如何创建和编辑按钮

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

如何在运行时确定对象类型(RTTI)

C语言教程 C语言函数
如何在运行时确定对象类型(RTTI)

在.NET运行时了解类型信息(2)

电脑网络
在.NET运行时了解类型信息(2)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

了解WEB页面工具语言XML(四) 应用分类

了解WEB页面工具语言XML(四)  应用分类

如何將Excel的文件导入Access文件

如何將Excel的文件导入Access文件
下拉加载更多内容 ↓