有某控件的源代码,如想知道其onclick事件的实际代码,如何关联查看?
EMPNotify = procedure (Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean) of object;FOnClick: EMPNotify;property OnClick: EMPNotify read FOnClick write FOnClick;
EMPNotify = procedure (Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean) of object;FOnClick: EMPNotify;property OnClick: EMPNotify read FOnClick write FOnClick;
if Assigned(FOnClick) then
FOnClick(Self);
所以,查找一下FOnClick就基本上可以找到。
if Assigned(FOnClick) then
FOnClick(Self);
就会被执行到,它会调用你定义的方法,比如你在界面上放了一个button1,双击它ide会自动生成procedure TForm1.button1Click(sender:TObject)的事件,你在其中写入你的代码,在程序运行时,Reader(关于Reader读dfm的部分不说了,可以参考《Delphi参考手册》等书)会执行类似这样的代码:Button1.OnClick:=Form1.button1Click;
OnClick是个property,对它的赋值相当于:Button1.FOnClick:=Form1.Button1Click;
这样当你点击按钮时,它执行FOnClick(Self);就会执行你的Form1.Button1Click;函数了。。希望我说清楚了。