小弟在初学Delphi时碰到这样一个问题:
关于Button控件的OnClick事件应怎样使用的问题?
Onclick应该怎样赋值啊?是怎样一个格式啊?
例如通过Button1按钮的OnClick事件,把选中的内容排列好"保存"在ListBox列表框里,
这段程序该怎么写啊?望众高手不吝赐教.

解决方案 »

  1.   

    直接双击button1,
    在begin end之间直接写就行了
    ListBox1.item.clear;
    ListBox.item.add('ddddxxxx');
      

  2.   

    Button1.OnClick=??????后面该怎么写?有格式规定吗?
      

  3.   

    一般情况下,双击即可,也可自己定义函数,函数格式根据不同的事件有不同的格式,比如
    Button1.OnClick=的格式应该如下:
    Procedure click (Sender :TObject)
    begin
      ShowMessage('Hello');
    end;
    Button1.OnClick=click;
      

  4.   

    双击button
    看到事件过程,如果自定义,动态给事件
    那么你的过程必须和刚才双击的格式一样,或者是类型一样,就是过程的参数,返回值(如果有)和acl规定的一致
    你就可以动态负值给button.onclick=你的过程名,楼上的说的清楚while ...
      listbox1.items.add(字符串)
      

  5.   

    Button1.OnClick=click;显示出错?该怎么办啊?
      

  6.   

    Button1.OnClick=click
    干嘛要写成这个样子
    那用tactionlist好了,写个action,赋给onclick
    Button1.OnClick=click;
    =改成:=
    这个也不晓的??
      

  7.   

    Button1.OnClick是不行的,应该用Button1.Click进行调用
      

  8.   

    写好一个过程,然后Button1.OnClick := 过程名
    就可以动态调用过程了
      

  9.   

    直接双击button1,
    在begin end之间直接写就行了
    ListBox1.item.clear;
    ListBox.item.add('ddddxxxx');
      

  10.   

    onclick是TNotifyEvent类型而你自己定义的click是procedure类型不能直接附值.
    所以Button1.OnClick=click这种写发肯定不行.
    有两种方法你可以试试:
    1.定义action
    然后将action附值给button的action
    2.定义一个类比如
    type
      Tselfclass = class(Twincontrol)
        procedure Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
       published
      end;然后你可以写 
    procedure Tselfclass.click(Sender: TObject)
    begin
    ...
    end;然后可以进行如下的附值过程:
    Button1.OnClick:=selfclass.onclick;