unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls,stdctrls;type
TForm1 = class(TForm)
ControlBar1: TControlBar;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
newbtn:TButton;
begin
newbtn := TButton.Create(self);
newbtn.Caption := 'test';
newbtn.Parent := self.ControlBar1;
newbtn.OnClick := Button1Click;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('a');
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls,stdctrls;type
TForm1 = class(TForm)
ControlBar1: TControlBar;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
newbtn:TButton;
begin
newbtn := TButton.Create(self);
newbtn.Caption := 'test';
newbtn.Parent := self.ControlBar1;
newbtn.OnClick := Button1Click;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('a');
end;end.
解决方案 »
- 关于chart自身坐标与屏幕坐标的问题 急~
- WebBrowser1页面点击的连接怎么总是ie浏览器打开啊?
- 服务程序/install 与CreateService安装的程序为什么不一样
- 带参数存储过程使用问题,请高手执教!
- 如何得到组合的结果?
- 如何判断在文本框中输入的是不是目录格式?
- 班竹,来吧,看一看我吧,我快不行了
- Edit控件的OnEnter事件中打开一个新窗体后如何重获焦点?
- 关于用delphi制作报表打印程序的问题.
- 菜鸟问题:关于AppServer中的Data Modual
- 用DELPHI6编,获取windows版本信息时编译通不过,请大虾们指点一二?
- ADOConnection的连接问题?
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, ADODB;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure MyClick(Sender: TObject);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
var aa:TButton;
begin
aa:=TButton.Create(self);
aa.Parent:=self;
aa.Left:=10;
aa.Top:=10;
aa.Caption:='ok';
aa.OnClick:=MyClick;
end;procedure TForm1.MyClick;
begin
ShowMessage('ok');
end;
end.
b是tcontrol,不是tbutton。
那么,创建的按钮b,它的onclick 如何实现?
private
procedure mybuttonclick(sender:tobject);procedure mybuttonclick(sender:tobject);
begin
//这里写你点击按钮要做什么
showmessage('mybutton clicked');
end;然后在创建新按钮的时候加上
newbtn.onclick:=mybuttonclick;
这样就ok了
然后让onclick=这个类方法。就是楼上的那位写的那样!
procedure onclick(sender:object);Message WM_CLICK;
然后实现
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, 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}
var
b:tcontrol;
procedure TForm1.Button1Click(Sender: TObject);
begin
b:=tbutton.Create(self);
b.Parent:=self;end;end.
那么,上述按下按钮b的onclick事件如何实现?
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure NewBtnClick(Sender: TObject);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
var
b:tcontrol;
procedure TForm1.Button1Click(Sender: TObject);
begin
b:=tbutton.Create(self);
b.Parent:=self;
(b as TButton).OnClick = NewBtnClick;
end;
procedure TForm1.NewBtnClick(Sender: TObject);
begin
...
end;
end.