我这里先谢谢bbkxjy与JohnsonGu但是还没解决我的具体问题。二位只是在理论上说明
如何动态创建控件的事件添加方法但是下边的的代码在哪添加呢?
procedure TForm1.Mycode(Sender: TObject);
begin
...//跟普通的事件响应过程一样
end;
下面是我的源码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
Button2: TButton;
begin
Button2:=TButton.Create(Self);
Button2.Parent:=Self;
Button2.Click := Mycode;
end;
end.
我在以下几个地方加入代码,结果Delphi总是不让编译。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
//1、我最先在这里声明,但好像不对,后来我想明白了。此时Button2还没有被建立。
private
{ Private declarations }
public
{ Public declarations }
{2、我的第二次在这里定义了
procedure TForm1.Mycode(Sender: TObject);
begin
...//跟普通的事件响应过程一样
end;
事件但是还是不行,为什么,我就不知道了。}
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
//3、我在这声明了事件,但还是不行,原因同1
procedure TForm1.Button1Click(Sender: TObject);
var
Button2: TButton;
begin
Button2:=TButton.Create(Self);
Button2.Parent:=Self;
Button2.Click := Mycode;
end;
//4、我后来在这里定义事件代码Mycode但是还是不行。
end.
于是,我不知道如何具体应用。回答我的两位,同我以前看过的资料都是一样的只是
理论上告诉我是可行的。问题没有解决但是我还是感谢二位。也许是我太笨找不到放
这段的地方;也许是这个问题没有太大的实际意义,所以,大家都不太注意。也许是
我是初学者,对其他的地方不熟,代码就不是放在Unit1中的;也许......
太多的也许促使我很不自信,不知道学习Delphi之路到底在何方呢?请大家指一条明路
给我吧!!!