unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
Count:integer;
procedure MyClick(Sender:TObject);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var Button1:TButton;
begin
Inc(Count);
Button1:=TButton.Create(self);
with Button1 do begin
Parent:=Self;
Left:=X;
Top:=Y;
Width:=50;
Height:=20;
Caption:='Button'+IntToStr(Count);
OnClick:=MyClick;
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Count:=0;
end;procedure TForm1.MyClick(Sender: TObject);
begin
ShowMessage('Hello!'+(Sender as TButton).Caption);
end;end.
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
Count:integer;
procedure MyClick(Sender:TObject);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var Button1:TButton;
begin
Inc(Count);
Button1:=TButton.Create(self);
with Button1 do begin
Parent:=Self;
Left:=X;
Top:=Y;
Width:=50;
Height:=20;
Caption:='Button'+IntToStr(Count);
OnClick:=MyClick;
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Count:=0;
end;procedure TForm1.MyClick(Sender: TObject);
begin
ShowMessage('Hello!'+(Sender as TButton).Caption);
end;end.
tbtn.onclick:=your_procyour_proc
beginend;
OnClick 是事件,不是属性。
事件是一种特殊的属性,你可以看一下事件的声明和属性的声明的差异,你会发现没有差异,区别在于,数据类型不同。
protected
property OnClick:TNotifyEvent read FOnClick write FOnClick stored IsOnClickStored;