FastReport 支持两种类型的向导。第一种类型包括已经提到的向导,从“文件|新建…”菜单调用。第二个包括向导,可以从“向导”工具栏调用。
您可以在自定义向导的帮助下扩展 FastReport 功能。例如,FastReport 包含标准的“ 告向导”,它从“文件|新建…”菜单中调用。
FastReport 支持两种类型的向导。第一种类型包括已经提到的向导,从“文件|新建…”菜单调用。第二个包括向导,可以从“向导”工具栏调用。
任何向导的基本类是TfrxCustomWizard,在“frxClass”文件中定义。
TfrxCustomWizard = class(TComponent) Public Constructor Create(AOwner: TComponent); override; class function GetDescription: String; virtual; abstract; function Execute: Boolean; virtual; abstract; property Designer: TfrxCustomDesigner read FDesigner; property Report: TfrxReport read FReport; end;
要编写自己的向导,必须从此类继承并至少覆盖GetDescription和Execute方法。第一个返回向导名称;第二个在运行向导时被调用;如果向导成功完成工作并对 告进行了任何更改,则它必须返回“True”。在向导工作期间,您可以通过Designer和Report属性正确调用设计器和 告方法和属性。
向导注册和删除是通过“frxDsgnIntf”文件中描述的过程执行的:
frxWizards.Register(ClassRef: TfrxWizardClass; ButtonBmp: TBitmap; IsToolbarWizard: Boolean = False);frxWizards.Unregister(ClassRef: TfrxWizardClass);
在注册时,输入向导类名称、其图片,并指定向导是否放置在“向导”工具栏中。如果向导应放置在工具栏中,则 ButtonBmp 大小必须为 16×16 像素,否则为 32×32 像素。
让我们检查原始向导,它正在“文件|新建…”菜单中注册,然后添加新的页面来 告。
uses frxClass, frxDsgnIntf;type TfrxMyWizard = class(TfrxCustomWizard) public class function GetDescription: String; override; function Execute: Boolean; override; end;class function TfrxMyWizard.GetDescription: String;begin Result := 'My Wizard';end;function TfrxMyWizard.Execute: Boolean;var Page: TfrxReportPage;begin { lock any drawings in designer } Designer.Lock; { create new page in report } Page := TfrxReportPage.Create(Report); { create unique name for page } Page.CreateUniqueName; { set paper sizes and orientation by default } Page.SetDefaults; { update report pages and switch focus to last added page } Designer.ReloadPages(Report.PagesCount - 1);end;var Bmp: TBitmap;initialization Bmp := TBitmap.Create; { load picture from resource; of course, you should place it there first } Bmp.LoadFromResourceName(hInstance, 'frxMyWizard'); frxWizards.Register(TfrxMyWizard, Bmp);finalization frxWizards.Unregister(TfrxMyWizard); Bmp.Free;end.
如果您对 FastReport 感兴趣,欢迎加入 FastReport QQ 交流群:702295239
还想要更多吗可以点击阅读【FastReport 表2021最新资源盘点】,查找需要的教程资源。上是FastReport .NET慧正在 火热销售中!>>查看价格详情
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!