1. 程式人生 > 其它 >FastReport VCL報表工具事件處理程式描述

FastReport VCL報表工具事件處理程式描述

本文介紹了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