TNotifyEvent = procedure(Sender: TObject) of object;的of object是什么意思 ( 积分: 100 )

  • 主题发起人 主题发起人 birdhzx
  • 开始时间 开始时间
B

birdhzx

Unregistered / Unconfirmed
GUEST, unregistred user!
我想重载一个Tbutton的click,怎么做,先执行我的功能,再执行它自己的代码,感谢
 
我想重载一个Tbutton的click,怎么做,先执行我的功能,再执行它自己的代码,感谢
 
of object表示是一个类的方法
比如你的TButton.OnClick就是一种类方法,定义类型的时候就要有Of Object。
好像重载DoClick就可以吧,你看一下
 
对像方法指针!只要记住在编写一个类或组件时,如果要使用到事件,就一般在方法后面加上of object.
 
1、指向函数的指针,of object不是必须的,之所以使用of object是因为告诉编译器这里有一个Self(this)指针,所以,上面的过程展开之后就是procedure(Self:TObject; Sender: TObject) .
2、如何重载,请看StdCtrls单元的TButton = class(TButtonControl)
 
第一个问题上面已经给你答案了!!!

》》》》》我想重载一个Tbutton的click,怎么做,先执行我的功能,再执行它自己的代码
下面的例子:

type
TMyButton = class(TButton)
public
procedure Click;override;//重载Button的Click事件
end;


{ TMyButton }

procedure TMyButton.Click;
begin
//你需要先执行的代码
inherited; //转到执行它自己的代码
end;
 
后退
顶部