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

原创 2004年08月31日 22:41:00

在编写组件中,常常有一些事件,其控件是在组件内,而其中的某一事件的代码要在组件外写。以一个按钮的OnClick事件为例:

在类中设置如下代码:

private
    FOnClick: TNotifyEvent;
    procedure ClickTransfer(Sender: TObject);  { TNotifyEvent }
publish
    property OnClick: TNotifyEvent read FOnClick write FOnClick;

 在实现部分:
procedure 类名.ClickTransfer(Sender: TObject);
{ Transfers LButtonFind OnClick event to the outside world. }
begin
  if assigned(FOnClick) then
    FOnClick(Self);  { Substitute Self for subcomponent's Sender. }
end;  { ClickTransfer }

在create中加入一条语句:
constructor 类名.Create(AOwner: TComponent);
begin
  inherited 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

vue子组件的使用和事件传递

vue子组件的使用和事件传递 在使用vue进行编程的时候我们经常会遇到在多个界面重用功能,比如联动的下拉框,重复的表单等等。如果在每个模块里面都重新写一遍,在发生变更的时候需要修改很多的界面,导致了...
  • wild46cat
  • wild46cat
  • 2017年12月01日 04:54
  • 162

angular2子组件的事件传递(任意组件事件传递)

angular2子组件的事件传递angular2有很多组件组成,画面由很多路由,导致事件的传递很“笨拙”,本组的技术负责人发现了任意组件传递事件的这个方法,教会了我,我做个笔记。项目情况:画面结构复杂...
  • qq_20881087
  • qq_20881087
  • 2017年03月03日 10:37
  • 4956

vue父组件点击触发子组件事件

最近在学习Vue父子组件通信的问题,刚好遇到一个父子之间事件事件派发与接收,在这里记录一下,在这里我使用的是ref 给子组件注册引用信息。官网是这样解释的 ref 被用来给元素或子组件注册引用信...
  • xiaozhuyirena
  • xiaozhuyirena
  • 2017年07月14日 17:19
  • 2742

vue 重温一下vue运行生命周期,与分子组件事件分发

我们知道,父组件是使用 props 传递数据给子组件,但如果子组件要把数据传递回去,应该怎样做?那就是自定义事件! 使用 v-on 绑定自定义事件 每个 Vue 实例都实现了事件接口 (E...
  • jayhkw
  • jayhkw
  • 2017年07月21日 17:57
  • 1044

Weex事件传递机制(二)

Weex事件传递机制1.Weex组件事件绑定过程Weex组件的事件绑定发生在WXComponent的方法applyLayoutAndEvent上: public void applyLayoutA...
  • cjh94520
  • cjh94520
  • 2017年07月17日 11:25
  • 258

C#的COM事件在C++中触发和响应的实现

在C++中调用C#开发COM组件时,一般的接口调用都比较容易实现,但是对于COM组件中的事件,C++中要去响应却不好实现。因为C#中事件是采用委托机制,而C++中却没有委托的机制,这样就无法实现对应。...
  • hu_jiangan
  • hu_jiangan
  • 2014年11月01日 20:50
  • 1398

Angular2父子组件之间数据传递:@Input和@Output (下)

​为了让大家学习起来轻松、易懂,小编尽量做到篇幅短,语言通俗易懂,知识点分段来讲,以免太长了看起来很累,也很容易失去耐心阅读下去,希望大家理解和支持,同时希望大家点赞和分享出去,让更多的志同道合的朋友...
  • long328583644
  • long328583644
  • 2017年07月09日 17:04
  • 896

快速掌握小程序组件事件自定义参数的方法

我发现看别人的demo真的对学习很有帮助。比如说我看到这个: 一开始很懵逼,完全不知道这个e.currentTarget.dataset.id是什么东西,怎么来的。于是我便去深入研究这部分代码。...
  • BeiLinYu
  • BeiLinYu
  • 2016年12月30日 17:56
  • 9593

Android ViewGroup 触摸事件传递机制

引言上一篇博客我们学习了Android View 触摸事件传递机制,不了解的同学可以查看Android View 触摸事件传递机制。今天继续学习Android触摸事件传递机制,这篇博客将和大家一起探讨...
  • feidu804677682
  • feidu804677682
  • 2015年08月01日 22:44
  • 3329

android控件之间事件传递

Android Viewpage禁止滑动屏幕,viewpage中轮播图可以手动滑动设置等。
  • xiaoyi848699
  • xiaoyi848699
  • 2014年11月11日 17:59
  • 839
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DELPHI7 如何在编写可视组件中传递一个事件到组件外部?
举报原因:
原因补充:

(最多只允许输入30个字)