Delphi自定义部件开发(四)

2008-02-23 07:16:45来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

19.2.2.2 创建事件

 

  事件是部件的很重要的部分。事件是部件必须响应的系统事件与响应事件的一段代码的联接。响应代码被称为事件处理过程,它总是由部件用户来编写。通过使用事件,应用开发者不需要改变部件本身就能定制部件的行为。作为部件编写者,运用事件能使应用发者定制所有的标准Delphi部件。要创建事件,应当理解:

  什么是事件

  怎样实现标准事件

  怎样定义自己的事件

 

1. 什么是事件

事件是联接发生的事情与某些代码的机制,或者说是方法指针,一个指向特定对象实例的特定方法的指针。从部件用户的角度,事件是与系统事件(OnClick)有关的名称,用户能给该事件赋特定的方法供调用。例如,按钮ButtonlOnClick方法,缺省情况下Delphi在包含该按钮的窗体中产生一个为ButtonlClick的方法,并将其赋给OnClick。当一个Click事件发生在按钮上时,按钮调用赋给OnClick的方法ButtonlClick

部件用户将事件看作是由用户编写的代码,而事件发生时由系统调用的处理办法。

  从部件编写者角度事件有更多的含义。最重要的是提供了一个让用户编写代码响应特定事情的场所。

  要编写一个事件,应当理解:

 ● 事件和方法指针

  事件是属性

  ● 事件处理过程类型

 ● 事件处理过程是可选的

 

  ⑴ 事件是方法指针

  Delphi使用方法指针实现事件。一个方法指针是指向特定对象实例的特定方法的特定指针。作为部件编写者,能将方法指针作为一种容器。你的代码一发现事情发生,就调用由用户定义的方法。  

  方法指针的工作方式就象其它的过程类型,但它们保持一个隐含的指向对象实例的指针。所有的控制都继承了一个名为Click的方法,以处理Click事件。Click方法调用用户的Click事件处理过程。

 

  procedure TControl.Click;

begin

if Assigned(OnClick ) then OnClick( Self );

end;

 

如果用户给ControlOnClick事件赋了处理过程(Handle),那鼠标点按Control时将导致方法被调用。

  ⑵ 事件是属性

  部件采用属性的形式实现事件。不象大多数其它属性,事件不使用方法来使实现read

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Delphi文件管理(一)

下一篇:开发Delphi对象式数据管理功能(四)