FastReport VCL報表工具事件處理程式描述
阿新 • • 發佈:2021-07-05
本文介紹了FastReport VCL事件處理程式描述。如果需要定義一個不屬於基本類的新事件處理程式,應該怎麼做?
FastReport是用於 Delphi、C++ Builder、RAD Studio 和 Lazarus 的報告和文件建立 VCL 庫。它提供了視覺化模板設計器,可以訪問 30 多種格式,並可以部署到雲、網站、電子郵件和列印中。
FastReport下載免費試用版
如果需要定義一個不屬於基本類的新事件處理程式,應該怎麼做?讓我們以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