📄 frxdctrl.pas
字号:
{******************************************}
{ }
{ 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 + -