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

2016-02-19 12:51 25 1 收藏

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

【 tulaoshi.com - 编程语言 】

  新开一个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;

  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://www.tulaoshi.com/bianchengyuyan/)

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

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

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

  end.
  
  
  作者:lzcx

来源:http://www.tulaoshi.com/n/20160219/1602198.html

延伸阅读
标签: 电脑入门
有些用户忘记了自己上次是什么时候关机,又想知道自己的MAC运行了多长时间,那么该如何解决这个问题呢?其实很简单,现在就让图老师小编教你一个解决的方法吧。 打开苹果电脑 Mac OS X 系统自带的终端工具(找不到的话,点击屏幕右上角的放大镜标志,Spotlight搜索端或terminal),输入uptime(无引号)即可查询这台苹果电脑一共运行了多长...
标签: Web开发
在您的IE浏览器上运行含有JavaScript代码的页面时都会产生一个警告。这个警告确实很烦人,不知情的人看了还以为是病毒什么呢,很容易让人产生误解! 记得网上也有人称其为IE的小黄条警告。具体的什么叫法我们今天不用关心,我们关心的是如何去掉这个警告。具体方法如下: 点击工具---Internet选项---高级---"允许活动的内容在我的...
标签: 电脑入门
Linux中的swap分区类似Windows的虚拟内存,在硬盘空间不足的情况下,可通过创建swap分区来解决,下面图老师小编就给大家介绍下Linux如何创建和删除swap分区。 1.swap概述 Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放...
  编写Delphi应用程序时,经常会遇到一些ActiveX控件[注:扩展名为OCX的控件或DLL的类型库],它们为应用程序的开发提供了简单的操作途径。然而,这些程序在发布的同时,面临ActiveX控件注册问题。解决途径:一、用安装程序制作打包文件,往往会给增加程序本身的大小,系统重装时,则必须重新安装它;二、用程序本身进行代码编写函数的...
     如何获得程序或者一段代码运行的时间?你可能说有专门的程序测试工具,确实,不过你也可以在程序中嵌入汇编代码来实现。      在Pentium的指令系统中有一条指令可以获得CPU内部64位计数器的值,我们可以通过代码两次获取该计数器的值而获得程序或代码运行的时钟周期数,进而通过你的cpu的频率算...

经验教程

868

收藏

74
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部