函数实际上是一个指针,在TButton的祖先类里面,有一个FOnClick变量,用来保存这个指针,这样Delphi就可以根据指针调用Click函数了。

解决方案 »

  1.   

    不知道你注意到没有,当你上击 button1,对Button1的Click事件中加入代码后,其实就是在 Button1Click(Sender:Tobject) 过程中添加代码,这时你查看属性编辑器的 Event 页,button1的 OnClick 事件〔其实是一个指向过程的指针〕被赋值为 Button1Click。程序运行后单击 Button1,这时它就通过 OnClick 指针找到并执行 Button1Click 过程。
      

  2.   

    利用函数指针啊,比如Application->OnMinimize := myFun(xxxxx);
    就是把myFun(xxxxx)函数的指针赋予OnMinimize。那么当OnMinimize事件产生时,就会调用nyFunc函数。
    函数名代表的就是函数的地址
      

  3.   

    你们只告述了我去脉(onclick),但还不知道来龙(既click消息)?
    click消息onclick函数对应的代码在哪?
      

  4.   

    在 Button 的祖先类里,有一个鼠标的消息过程。在这个过程中调用方法。
     if Assigned(FOnClick) then FOnClick(Self);
    上面的代码意思是:如果 FOnClick 指针指向了一个方法,就执行这个方法。