⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frxdctrl.pas

📁 报表源码 FastReport 3 is new generation of the report generators components. It consists of report engin
💻 PAS
📖 第 1 页 / 共 3 页
字号:
{******************************************}
{ }
{ FastReport v2.4-Dialog designer }
{ Standard Dialog controls }
{ }
{ Copyright (c) 1998-2005 }
{ by Alexander Tzyganenko, }
{ Fast Reports Inc. }
{ }
{******************************************}

unit frxDCtrl;

interface

{$I frx.inc}

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, StdCtrls,
  ExtCtrls, Forms, Menus, Dialogs, Comctrls, Buttons, Mask, CheckLst, frxClass
{$IFDEF Delphi6}
, Variants
{$ENDIF};

type
  TfrxDialogControls = class(TComponent) // fake component
  end;

  TfrxLabelControl = class(TfrxDialogControl)
  private
    FLabel:TLabel;
    function GetAlignment:TAlignment;
    function GetAutoSize:Boolean;
    function GetWordWrap:Boolean;
    procedure SetAlignment(const Value:TAlignment);
    procedure SetAutoSize(const Value:Boolean);
    procedure SetWordWrap(const Value:Boolean);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    procedure BeforeStartReport; override;
    procedure Draw(Canvas:TCanvas; ScaleX, ScaleY, OffsetX, OffsetY:Extended); override;
    property LabelCtl:TLabel read FLabel;
  published
    property Alignment:TAlignment read GetAlignment write SetAlignment
      default taLeftJustify;
    property AutoSize:Boolean read GetAutoSize write SetAutoSize default True;
    property Caption;
    property Color;
    property WordWrap:Boolean read GetWordWrap write SetWordWrap default False;

    property OnClick;
    property OnDblClick;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxCustomEditControl = class(TfrxDialogControl)
  private
    FOnChange:TfrxNotifyEvent;
    function GetMaxLength:Integer;
    function GetPasswordChar:Char;
    function GetReadOnly:Boolean;
    function GetText:String;
    procedure DoOnChange(Sender:TObject);
    procedure SetMaxLength(const Value:Integer);
    procedure SetPasswordChar(const Value:Char);
    procedure SetReadOnly(const Value:Boolean);
    procedure SetText(const Value:String);
  protected
    FCustomEdit:TCustomEdit;
  public
    constructor Create(AOwner:TComponent); override;
    property MaxLength:Integer read GetMaxLength write SetMaxLength;
    property PasswordChar:Char read GetPasswordChar write SetPasswordChar;
    property ReadOnly:Boolean read GetReadOnly write SetReadOnly default False;
    property Text:String read GetText write SetText;
    property OnChange:TfrxNotifyEvent read FOnChange write FOnChange;
  end;

  TfrxEditControl = class(TfrxCustomEditControl)
  private
    FEdit:TEdit;
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property Edit:TEdit read FEdit;
  published
    property Color;
    property MaxLength;
    property PasswordChar;
    property ReadOnly;
    property Text;
    property OnChange;
    property OnClick;
    property OnDblClick;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxMemoControl = class(TfrxCustomEditControl)
  private
    FMemo:TMemo;
    function GetLines:TStrings;
    procedure SetLines(const Value:TStrings);
    function GetScrollStyle:TScrollStyle;
    function GetWordWrap:Boolean;
    procedure SetScrollStyle(const Value:TScrollStyle);
    procedure SetWordWrap(const Value:Boolean);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property Memo:TMemo read FMemo;
  published
    property Color;
    property Lines:TStrings read GetLines write SetLines;
    property MaxLength;
    property ReadOnly;
    property ScrollBars:TScrollStyle read GetScrollStyle write SetScrollStyle default ssNone;
    property WordWrap:Boolean read GetWordWrap write SetWordWrap default True;
    property OnChange;
    property OnClick;
    property OnDblClick;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxButtonControl = class(TfrxDialogControl)
  private
    FButton:TButton;
    function GetCancel:Boolean;
    function GetDefault:Boolean;
    function GetModalResult:TModalResult;
    procedure SetCancel(const Value:Boolean);
    procedure SetDefault(const Value:Boolean);
    procedure SetModalResult(const Value:TModalResult);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property Button:TButton read FButton;
  published
    property Cancel:Boolean read GetCancel write SetCancel default False;
    property Caption;
    property Default:Boolean read GetDefault write SetDefault default False;
    property ModalResult:TModalResult read GetModalResult write SetModalResult default mrNone;
    property OnClick;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxCheckBoxControl = class(TfrxDialogControl)
  private
    FCheckBox:TCheckBox;
    function GetAlignment:TAlignment;
    function GetAllowGrayed:Boolean;
    function GetChecked:Boolean;
    function GetState:TCheckBoxState;
    procedure SetAlignment(const Value:TAlignment);
    procedure SetAllowGrayed(const Value:Boolean);
    procedure SetChecked(const Value:Boolean);
    procedure SetState(const Value:TCheckBoxState);
{$IFDEF Delphi7}
    function GetWordWrap:Boolean;
    procedure SetWordWrap(const Value:Boolean);
{$ENDIF}
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property CheckBox:TCheckBox read FCheckBox;
  published
    property Alignment:TAlignment read GetAlignment write SetAlignment
      default taRightJustify;
    property Caption;
    property Checked:Boolean read GetChecked write SetChecked default False;
    property AllowGrayed:Boolean read GetAllowGrayed write SetAllowGrayed default False;
    property State:TCheckBoxState read GetState write SetState default cbUnchecked;
{$IFDEF Delphi7}
    property WordWrap:Boolean read GetWordWrap write SetWordWrap default False;
{$ENDIF}
    property Color;
    property OnClick;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxRadioButtonControl = class(TfrxDialogControl)
  private
    FRadioButton:TRadioButton;
    function GetAlignment:TAlignment;
    function GetChecked:Boolean;
    procedure SetAlignment(const Value:TAlignment);
    procedure SetChecked(const Value:Boolean);
{$IFDEF Delphi7}
    function GetWordWrap:Boolean;
    procedure SetWordWrap(const Value:Boolean);
{$ENDIF}
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property RadioButton:TRadioButton read FRadioButton;
  published
    property Alignment:TAlignment read GetAlignment write SetAlignment
      default taRightJustify;
    property Caption;
    property Checked:Boolean read GetChecked write SetChecked default False;
{$IFDEF Delphi7}
    property WordWrap:Boolean read GetWordWrap write SetWordWrap default False;
{$ENDIF}
    property Color;
    property OnClick;
    property OnDblClick;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxListBoxControl = class(TfrxDialogControl)
  private
    FListBox:TListBox;
    function GetItems:TStrings;
    procedure SetItems(const Value:TStrings);
    function GetItemIndex:Integer;
    procedure SetItemIndex(const Value:Integer);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property ListBox:TListBox read FListBox;
    property ItemIndex:Integer read GetItemIndex write SetItemIndex;
  published
    property Color;
    property Items:TStrings read GetItems write SetItems;
    property OnClick;
    property OnDblClick;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxComboBoxControl = class(TfrxDialogControl)
  private
    FComboBox:TComboBox;
    FOnChange:TfrxNotifyEvent;
    function GetItemIndex:Integer;
    function GetItems:TStrings;
    function GetStyle:TComboBoxStyle;
    function GetText:String;
    procedure DoOnChange(Sender:TObject);
    procedure SetItemIndex(const Value:Integer);
    procedure SetItems(const Value:TStrings);
    procedure SetStyle(const Value:TComboBoxStyle);
    procedure SetText(const Value:String);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property ComboBox:TComboBox read FComboBox;
    property ItemIndex:Integer read GetItemIndex write SetItemIndex;
  published
    property Color;
    property Items:TStrings read GetItems write SetItems;
    property Style:TComboBoxStyle read GetStyle write SetStyle default csDropDown;
    property Text:String read GetText write SetText;
    property OnChange:TfrxNotifyEvent read FOnChange write FOnChange;
    property OnClick;
    property OnDblClick;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
  end;

  TfrxPanelControl = class(TfrxDialogControl)
  private
    FPanel:TPanel;
    function GetAlignment:TAlignment;
    function GetBevelInner:TPanelBevel;
    function GetBevelOuter:TPanelBevel;
    function GetBevelWidth:Integer;
    procedure SetAlignment(const Value:TAlignment);
    procedure SetBevelInner(const Value:TPanelBevel);
    procedure SetBevelOuter(const Value:TPanelBevel);
    procedure SetBevelWidth(const Value:Integer);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property Panel:TPanel read FPanel;
  published
    property Alignment:TAlignment read GetAlignment write SetAlignment default taCenter;
    property BevelInner:TPanelBevel read GetBevelInner write SetBevelInner default bvNone;
    property BevelOuter:TPanelBevel read GetBevelOuter write SetBevelOuter default bvRaised;
    property BevelWidth:Integer read GetBevelWidth write SetBevelWidth default 1;
    property Caption;
    property Color;
    property OnClick;
    property OnDblClick;
    property OnEnter;
    property OnExit;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxGroupBoxControl = class(TfrxDialogControl)
  private
    FGroupBox:TGroupBox;
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property GroupBox:TGroupBox read FGroupBox;
  published
    property Caption;
    property Color;
    property OnClick;
    property OnDblClick;
    property OnEnter;
    property OnExit;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxDateEditControl = class(TfrxDialogControl)
  private
    FDateEdit:TDateTimePicker;
    FOnChange:TfrxNotifyEvent;
    function GetDate:TDateTime;
    function GetDateFormat:TDTDateFormat;
    procedure DoOnChange(Sender:TObject);
    procedure SetDate(const Value:TDateTime);
    procedure SetDateFormat(const Value:TDTDateFormat);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property DateEdit:TDateTimePicker read FDateEdit;
  published
    property Color;
    property Date:TDateTime read GetDate write SetDate;
    property DateFormat:TDTDateFormat read GetDateFormat write SetDateFormat
      default dfShort;
    property OnChange:TfrxNotifyEvent read FOnChange write FOnChange;
    property OnClick;
    property OnDblClick;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
  end;

  TfrxImageControl = class(TfrxDialogControl)
  private
    FImage:TImage;
    function GetAutoSize:Boolean;
    function GetCenter:Boolean;
    function GetPicture:TPicture;
    function GetStretch:Boolean;
    procedure SetAutoSize(const Value:Boolean);
    procedure SetCenter(const Value:Boolean);
    procedure SetPicture(const Value:TPicture);
    procedure SetStretch(const Value:Boolean);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property Image:TImage read FImage;
  published
    property AutoSize:Boolean read GetAutoSize write SetAutoSize default False;
    property Center:Boolean read GetCenter write SetCenter default False;
    property Picture:TPicture read GetPicture write SetPicture;
    property Stretch:Boolean read GetStretch write SetStretch default False;
    property OnClick;
    property OnDblClick;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxBevelControl = class(TfrxDialogControl)
  private
    FBevel:TBevel;
    function GetBevelShape:TBevelShape;
    function GetBevelStyle:TBevelStyle;
    procedure SetBevelShape(const Value:TBevelShape);
    procedure SetBevelStyle(const Value:TBevelStyle);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property Bevel:TBevel read FBevel;
  published
    property Shape:TBevelShape read GetBevelShape write SetBevelShape default bsBox;
    property Style:TBevelStyle read GetBevelStyle write SetBevelStyle default bsLowered;
  end;

  TfrxBitBtnControl = class(TfrxDialogControl)
  private
    FBitBtn:TBitBtn;
    function GetGlyph:TBitmap;
    function GetKind:TBitBtnKind;
    function GetLayout:TButtonLayout;
    function GetMargin:Integer;
    function GetModalResult:TModalResult;
    function GetSpacing:Integer;
    procedure SetGlyph(const Value:TBitmap);
    procedure SetKind(const Value:TBitBtnKind);
    procedure SetLayout(const Value:TButtonLayout);
    procedure SetMargin(const Value:Integer);
    procedure SetModalResult(const Value:TModalResult);
    procedure SetSpacing(const Value:Integer);
    function GetNumGlyphs:Integer;
    procedure SetNumGlyphs(const Value:Integer);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property BitBtn:TBitBtn read FBitBtn;
  published
    property Glyph:TBitmap read GetGlyph write SetGlyph;
    property Kind:TBitBtnKind read GetKind write SetKind default bkCustom;
    property Caption; // should be after Kind prop
    property Layout:TButtonLayout read GetLayout write SetLayout default blGlyphLeft;
    property Margin:Integer read GetMargin write SetMargin default-1;
    property ModalResult:TModalResult read GetModalResult write SetModalResult default mrNone;
    property NumGlyphs:Integer read GetNumGlyphs write SetNumGlyphs default 1;
    property Spacing:Integer read GetSpacing write SetSpacing default 4;
    property OnClick;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxSpeedButtonControl = class(TfrxDialogControl)
  private
    FSpeedButton:TSpeedButton;
    function GetAllowAllUp:Boolean;
    function GetDown:Boolean;
    function GetFlat:Boolean;
    function GetGlyph:TBitmap;
    function GetGroupIndex:Integer;
    function GetHint:String;
    function GetLayout:TButtonLayout;
    function GetMargin:Integer;
    function GetSpacing:Integer;
    procedure SetAllowAllUp(const Value:Boolean);
    procedure SetDown(const Value:Boolean);
    procedure SetFlat(const Value:Boolean);
    procedure SetGlyph(const Value:TBitmap);
    procedure SetGroupIndex(const Value:Integer);
    procedure SetHint(const Value:String);
    procedure SetLayout(const Value:TButtonLayout);
    procedure SetMargin(const Value:Integer);
    procedure SetSpacing(const Value:Integer);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property SpeedButton:TSpeedButton read FSpeedButton;
  published
    property AllowAllUp:Boolean read GetAllowAllUp write SetAllowAllUp default False;
    property Caption;
    property Down:Boolean read GetDown write SetDown default False;
    property Flat:Boolean read GetFlat write SetFlat default False;
    property Glyph:TBitmap read GetGlyph write SetGlyph;
    property GroupIndex:Integer read GetGroupIndex write SetGroupIndex;
    property Hint:String read GetHint write SetHint;
    property Layout:TButtonLayout read GetLayout write SetLayout default blGlyphLeft;
    property Margin:Integer read GetMargin write SetMargin default-1;
    property Spacing:Integer read GetSpacing write SetSpacing default 4;
    property OnClick;
    property OnDblClick;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

  TfrxMaskEditControl = class(TfrxCustomEditControl)
  private
    FMaskEdit:TMaskEdit;
    function GetEditMask:String;
    procedure SetEditMask(const Value:String);
  public
    constructor Create(AOwner:TComponent); override;
    class function GetDescription:String; override;
    property MaskEdit:TMaskEdit read FMaskEdit;
  published

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -