高分,<delphi7完美经典>例子的疑惑,问题与代码如下

一个form,两个button点击button1,弹出“button1”,我能理解点击button2,还弹出“button1”,我不能理解,我认为应该什么都不弹出,求解释... 一个form,两个button

点击button1,弹出“button1”,我能理解
点击button2,还弹出“button1”,我不能理解,我认为应该什么都不弹出,求解释
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Button1');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.OnClick:=Button1Click;
end;
end.
搞明白了,原来早绑定的事件在delphi的dfm文件中
object Form1: TForm1
Left = 510
Top = 232
Width = 168
Height = 168
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 28
Top = 30
Width = 100
Height = 25
Caption = #25353#37397#19968
TabOrder = 0
end
object Button2: TButton
Left = 28
Top = 70
Width = 100
Height = 25
Caption = #25353#37397#20108
TabOrder = 1
OnClick = Button1Click //就是这里
end
end
而且默认的Button1.OnClick=Button1Click并不是绝对的,Button1只是一个方法名,默认是设置相应Button1.OnClick,但也可以相应其他组件的事件
展开
 我来答
a_zhu13
2013-04-19 · TA获得超过393个赞
知道小有建树答主
回答量:115
采纳率:100%
帮助的人:96.9万
展开全部
Button1只是一个Button对象。
Button1.Onclick是一个事件属性,实则一个函数指针;而属性是可以赋值的。
Button2.OnClick = Button1Click //就是这里,表示Button2的属性指向 Button1Click这个函数而已。Button1Click只是一个函数的名称,无其他任何含义。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式