FastReport VCL是用于 Delphi、C++ Builder、RAD Studio 和 Lazarus 的报告和文档创建 VCL 库。它提供了可视化模板设计器,可以访问 30 多种格式,并可以部署到云、网站、电子邮件和打印中。
FastReport 包含许多常用的控件,可以放置在报告内的通知表单上。
标签控件 编辑控件 Tfrx备忘录控件 按钮控件 TfrxCheckBox控件 TfrxRadioButtonControl TfrxListBox控件 TfrxComboBox 控件 TfrxDateEdit 控件 图像控件 TfrxBevelControl 面板控件 TfrxGroupBox控件 TfrxBitBtnControl TfrxSpeedButtonControl TfrxMask 编辑控件 TfrxCheckListBoxControl
这些控件元素对应于 Delphi 组件面板标准控件。如果标准功能不能满足您的要求,您可以创建自己的通用控件并在报告中使用它。
所有公共控件的基本类是TfrxDialogControl在frxClass文件中声明的类:
TfrxDialogControl = class(TfrxReportComponent) 受保护 程序初始化控制(AControl:TControl); 上市 构造函数创建(AOwner:TComponent);覆盖; 析构函数销毁;覆盖; 类函数 GetDescription: String; 虚拟的; 属性标题:字符串; 属性颜色:TColor; 属性控制:TControl; 属性 OnClick: TfrxNotifyEvent; 属性 OnDblClick: TfrxNotifyEvent; 属性 OnEnter: TfrxNotifyEvent; 属性 OnExit: TfrxNotifyEvent; 属性 OnKeyDown:TfrxKeyEvent; 属性 OnKeyPress: TfrxKeyPressEvent; property OnKeyUp: TfrxKeyEvent; property OnMouseDown: TfrxMouseEvent; property OnMouseMove: TfrxMouseMoveEvent; property OnMouseUp: TfrxMouseEvent; published property Left; property Top; property Width; property Height; property Font; property ParentFont; property Enabled: Boolean; property Visible; end;
要创建您自己的控制元素,您应该从此类继承并至少覆盖构造函数和GetDescription方法。有必要创建公共控件并通过InitControl构造函数中的方法对其进行初始化。GetDescription方法是返回公共控件描述。从TfrxDialogControl类描述中可以看出,它已经在公共部分包含了大量的属性和方法。您需要将任何必要的属性/事件传输到公共控件的“已发布”部分,并且还需要创建新的属性,这对于您的元素是典型的。
公共控件的注册和删除是通过frxObjectsfrxDsgnIntf 文件中声明的全局对象方法执行的:
frxObjects.RegisterObject(ClassRef: TfrxComponentClass; ButtonBmp: TBitmap); frxObjects.Unregister(ClassRef: TfrxComponentClass);
在注册期间,您应该指定控件类名称及其图片。ButtonBmp 大小应为 16x16 像素。
例如,让我们检查通用控件的示例,它简化了标准 DelphiTBitBtn控件的功能。
uses frxClass, frxDsgnIntf, Buttons; type TfrxBitBtnControl = class(TfrxDialogControl) private FButton: TBitBtn; procedure SetKind(const Value: TBitBtnKind); function GetKind: TBitBtnKind; public constructor Create(AOwner: TComponent); override; class function GetDescription: String; override; property Button: TBitBtn read FButton; published { add new properties } property Kind: TBitBtnKind read GetKind write SetKind default bkCustom; { these properties are already declared in parent class } property Caption; property OnClick; property OnEnter; property OnExit; property OnKeyDown; property OnKeyPress; property OnKeyUp; property OnMouseDown; property OnMouseMove; property OnMouseUp; end; constructor TfrxBitBtnControl.Create(AOwner: TComponent); begin { default constructor } inherited; { create required common control } FButton := TBitBtn.Create(nil); FButton.Caption := 'BitBtn'; { initialize it } InitControl(FButton); { it will have such size by default } Width := 75; Height := 25; end; class function TfrxBitBtnControl.GetDescription: String; begin Result := 'BitBtn control'; end; procedure TfrxBitBtnControl.SetKind(const Value: TBitBtnKind); begin FButton.Kind := Value; end; function TfrxBitBtnControl.GetKind: TBitBtnKind; begin Result := FButton.Kind; end; var Bmp: TBitmap; initialization Bmp := TBitmap.Create; {Load picture from resource. Of course, you should beforehand place it there.} Bmp.LoadFromResourceName(hInstance, 'frxBitBtnControl'); frxObjects.RegisterObject(TfrxBitBtnControl, Bmp); finalization frxObjects.Unregister(TfrxBitBtnControl); Bmp.Free; 结尾。
如果您对 FastReport 动物,欢迎加入 FastReport QQ 交流群:702295239
还想要更多吗?您可以点击阅读【FastReport报表2021最新资源盘点】,查找需要的教程资源。上是FastReport.NET慧正在网火热销售中!>>查看价格详情
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/3130.html