DELPHI7 如何在编写可视组件中传递一个事件到组件外部?

 我来答
终极至尊SQ1298
2013-10-28 · TA获得超过112个赞
知道答主
回答量:210
采纳率:0%
帮助的人:142万
展开全部
在编写组件中,常常有一些事件,其控件是在组件内,而其中的某一事件的代码要在组件外写。以一个按钮的OnClick事件为例:
在类中设置如下代码:privateFOnClick:TNotifyEvent;procedureClickTransfer
(Sender: TObject); { TNotifyEvent }publishproperty OnClick: TNotifyEvent read FOnClick write FOnClick;
在实现部分:
procedure 类名.ClickTransfer(Sender: TObject);
{ Transfers LButtonFind OnClick event to the outside world. }beginif assigned(FOnClick) then
FOnClick(Self); { Substitute Self for subcomponent's Sender. }
end; { ClickTransfer }
在create中加入一条语句:
constructor 类名.Create(AOwner: TComponent);begininherited Create(AOwner);
{Place your custom initialization code here.}
ButtonFind.OnClick := ClickTransfer;end;在create中,将控件的OnClick 事件与ClickTransfer绑定。
那么。在窗口有你加上一个你自制的组件,在组件的事件列表中会有一个OnClick事件。
在这个事件中的代码,当你按下组件中的按钮时源码天空
,会执行。其执行关键是:
if assigned(FOnClick) then
FOnClick(Self); { Substitute Self for subcomponent's Sender. }
这句话是说如果你在用此组件时,在其OnClick中写了代码,即会被执行。2004/08/31 T
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式