FastReport VCL报表控件开发者手册三:事件处理程序介绍

mac2022-06-30  58

如果事件处理程序不属于基类的话,如何定义一个新的事件处理程序呢?本文中就以“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 VCL报表中的事件处理程序是一个定义在报表脚本中的程序。TfrxNotifyEvent类型被声明为String[63],在FastReport VCL中,链接事件处理程序的是一个包含名称的字符串。

转载于:https://www.cnblogs.com/FastReport/archive/2012/12/03/2799437.html

相关资源:FastReport VCL Enterprise (ClientServer) 6.3.11 Full Source
最新回复(0)