读书人

TNofiFyEvent 是什么部类? 对创建组件

发布时间: 2013-06-25 23:45:42 作者: rapoo

TNofiFyEvent 是什么类型? 对创建组件事件有什么用?
TNofiFyEvent 是什么类型? 对创建组件事件有什么用?
[解决办法]
TNofiFyEvent 是什么类型?
TNotifyEvent 通知事件类型。 是最普遍的一类函数指针类型,delphi中也把它称作事件句柄。
TNotifyEvent 类型指向任何一个函数签名(参数与返回值)与之匹配的函数的地址。

TNotifyEvent = procedure(Sender: TObject) of object;
// 它指向的函数的签名为:
// 一个对象的成员函数
// 无返回值,即“procedure 过程”
// 需要一个TObject类型的变量,通常为该对象自身的引用,即Self


对创建组件事件有什么用?
用button做例子。


FOnClick: TNotifyEvent; // 私有成员
property OnClick: TNotifyEvent read FOnClick write FOnClick;// 公布的属性,属性即为FOnClick

// 例如你在窗体放置一个button1,TButton 类中定义了私有成员变量
// 双击该button,就会自动生成一个匹配 OnClick (TNotifyEvent类型)签名的函数
// 这时,OnClick 指向这个button1Click 函数的地址
procedure TForm1.button1Click(Sender: TObject);
begin
// 本函数是一个对象的成员函数,带一个TObject类型的参数,无返回值,完全匹配TNotifyEvent
end;

// 回到TButton类的定义中,TButton内就可以直接 FOnClick(self) 调用,
// 就好像调用了TForm1.button1Click 一样

// 这就是一个事件的经过

读书人网 >.NET

热点推荐