按分析出的错误的多少和分析原因的详细给分。谢谢!unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls;
type
TTBPhone = class(TToolBar)
procedure PhoneClick(Sender: TObject);
end;type
TForm1 = class(TForm)
Button1: TButton;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
BtnPhone:array [1..10] of TToolButton;
i:integer;
begin
for i:= 1 to 10 do
begin
BtnPhone[i] := TToolButton.Create(self);
BtnPhone[i].Parent := ToolBar1;
BtnPhone[i].Height := 65;
BtnPhone[i].Width := 65;
case i of
1:
begin
BtnPhone[i].Caption := '拨/挂';
BtnPhone[i].OnClick := TTBPhone.PhoneClick(BtnPhone[i]);
end;
else
end; end;
end;procedure TTBPhone.PhoneClick(Sender: TObject);
begin
showmessage('phone');
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls;
type
TTBPhone = class(TToolBar)
procedure PhoneClick(Sender: TObject);
end;type
TForm1 = class(TForm)
Button1: TButton;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
BtnPhone:array [1..10] of TToolButton;
i:integer;
begin
for i:= 1 to 10 do
begin
BtnPhone[i] := TToolButton.Create(self);
BtnPhone[i].Parent := ToolBar1;
BtnPhone[i].Height := 65;
BtnPhone[i].Width := 65;
case i of
1:
begin
BtnPhone[i].Caption := '拨/挂';
BtnPhone[i].OnClick := TTBPhone.PhoneClick(BtnPhone[i]);
end;
else
end; end;
end;procedure TTBPhone.PhoneClick(Sender: TObject);
begin
showmessage('phone');
end;end.
解决方案 »
- 求助:PDF和WORD的存和取
- 请问在listview中统计问题??
- 怎样利用系统默认的程序打开相应文件?
- 在表中删除一列(旺仔哥哥,finger,luojing.com 快点救命!!)
- 怎样把一个unit中分配的内存空间中的数据传到另一个unit?
- 查询问题
- 微软VS苹果
- 发个贴,找工作,地点北京
- 请问RAR格式的书需用什么软件打开?软件哪里有下载?(在http://202.96.70.228/cakk/delphi/delphi.htm上下载的《SQLServer2000开发者指南》一书)
- 怎样保持listview选中的高亮度选中(15分啦)
- 如何实现把一个数据库字段里了的内容在form里动态显示
- 线程怎么安全退出?
Begin
BtnPhone[i] := TToolButton.Create(self);
BtnPhone[i].Parent := ToolBar1;
BtnPhone[i].Height := 65;
BtnPhone[i].Width := 65;
BtnPhone[i].Onclick:=BtnClkHandler;
End;procedure TTBPhone.BtnClkHandler(Sender:TObject);
begin
with Sender as TButton do
begin
//做你想做的
end;
end;
不行啊,undeclared identifier :btnclkhandler
我在前面已经声明过的。你调试通过了吗?
Begin
BtnPhone[i] := TToolButton.Create(self);
BtnPhone[i].Parent := ToolBar1;
BtnPhone[i].Height := 65;
BtnPhone[i].Width := 65;
BtnPhone[i].Name := Phone+inttostr(i);
BtnPhone[i].Visible := True; BtnPhone[i].Onclick:=BtnClkHandler;
End;procedure TTBPhone.BtnClkHandler(Sender:TObject);
begin
with Sender as TButton do
begin
//做你想做的
end;
end;
Var
i:integer;
BtnPhone:array[1..10] of TToolButton;
begin
For i:=1 to 10 Do
Begin
BtnPhone[i] := TToolButton.Create(self);
BtnPhone[i].Parent := ToolBar1;
BtnPhone[i].Height := 65;
BtnPhone[i].Width := 65;
BtnPhone[i].Onclick:=BtnClkHandler;
End;
end;procedure TForm1.BtnClkHandler(Sender:TObject);
begin
with Sender as TToolButton do
begin
showmessage('phone');
end;
end;
1、先声明一个与所创建控件的父控件相对应的事件参数一致的全局过程;
如在本例中声明的PhoneClick过程;
2、给所创建的控件的事件赋值,赋值时,只需给出过程名就可以不用给参数。
如:
BtnPhone[i].OnClick := PhoneClick;
不知可以不?
procedure TTBPhone.BtnClkHandler(Sender:TObject);
应该为procedure TForm1.BtnClkHandler(Sender:TObject);
申明在TForm1的私有段
with Sender as TToolButton do
我已经试过了