Unit Unit1;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
Type
TForm1 = Class(TForm)
Panel1: TPanel;
Button1: TButton;
Procedure Button1Click(Sender: TObject);
Procedure Panel1Click(Sender: TObject);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
Form1 : TForm1;
Implementation
{$R *.dfm}
Procedure TForm1.Button1Click(Sender: TObject);
Begin
ShowMessage('Button1Click');
End;
Procedure TForm1.Panel1Click(Sender: TObject);
Begin
//如果TForm1內有 Button1: TButton;,那麼下面兩方式都是對 button1的onclick調用,
Form1.Button1Click(form1);
//是直接調用TForm1的Button1Click過程,跟button1對象是否存在沒有關系,
//如果在窗體設計面版中刪除button1對象,仍能運行
Form1.Button1.Click;
//是直接調用Button1對象的Click過程,跟button1對象有直接關系,
//如果在窗體設計面版中刪除button1對象,此方法也不存在
//如果我們把一個其他能產生click控件產生一個其click過程時,
//該過程以其控件名[button1+click+(Sender: TObject)相應的參數]自動生成方法名,
//如果在窗體設計面版中刪除該對象,對象聲名刪除Button1: TButton;,
//但其產生的方法(如click,mousedown等等),並沒有被相應刪除,
//如果我們再新建一個同名但不類的控件時,
//只要在Object Inspector裡的Events屬性卡雙擊相應的過程,仍會關聯上原來的過程,
//雖然這兩者沒有必然的聯系.
End;
End.