如果需要定义一个不属于基本类的新事件处理程序,应该怎么做我们以TfrxEditControl通用控件为例进行检查:
TfrxEditControl = class(TfrxDialogControl) private FEdit: TEdit; { new event } FOnChange: TfrxNotifyEvent; procedure DoOnChange(Sender: TObject); ... public constructor Create(AOwner: TComponent); override; ... published { new event } property OnChange: TfrxNotifyEvent read FOnChange write FOnChange; ... end;constructor TfrxEditControl.Create(AOwner: TComponent);begin ... { connect our handler } FEdit.OnChange := DoOnChange; InitControl(FEdit); ...end;procedure TfrxEditControl.DoOnChange(Sender: TObject);begin { call event handler } if Report <> nil then Report.DoNotifyEvent(Sender, FOnChange);end;
需要注意的是,FastReport 中的事件处理程序是在 告脚本中声明的过程。包含其名称的字符串将是指向处理程序的链接。这就是为什么,例如,不像 DelphiTNotifyEvent类型,它是方法地址,处理程序类型,在 FastReport 中它是字符串(TfrxNotifyEvent类型声明为 String[63])。
如果您对 FastReport 感兴趣,欢迎加入 FastReport QQ 交流群:702295239
还想要更多吗可以点击阅读【FastReport 表2021最新资源盘点】,查找需要的教程资源。上是FastReport .NET慧正在 火热销售中!>>查看价格详情
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!