📄 frxdesgn.pas
字号:
{******************************************}
{ }
{ FastReport v3.0 }
{ Designer }
{ }
{ Copyright (c) 1998-2005 }
{ by Alexander Tzyganenko, }
{ Fast Reports Inc. }
{ }
{******************************************}
unit frxDesgn;
interface
{$I frx.inc}
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, ImgList, Menus, Buttons, StdCtrls, ToolWin, ExtCtrls, ActnList,
CommCtrl, frxClass, frxDock, frxCtrls, frxDesgnCtrls, frxDesgnWorkspace,
frxInsp, frxDialogForm, frxDataTree, frxReportTree, frxSynMemo,
fs_iinterpreter
{$IFDEF Delphi6}
, Variants
{$ENDIF};
type
TfrxDesignerUnits = (duCM, duInches, duPixels, duChars);
TfrxLoadReportEvent = function(Report:TfrxReport):Boolean of object;
TfrxSaveReportEvent = function(Report:TfrxReport; SaveAs:Boolean):Boolean of object;
TfrxDesignerRestriction =
(drDontInsertObject, drDontDeletePage, drDontCreatePage, drDontChangePageOptions,
drDontCreateReport, drDontLoadReport, drDontSaveReport,
drDontPreviewReport, drDontEditVariables, drDontChangeReportOptions,
drDontEditReportData);
TfrxDesignerRestrictions = set of TfrxDesignerRestriction;
TSampleFormat = class;
TfrxDesigner = class(TComponent)
private
FCloseQuery:Boolean;
FOpenDir:String;
FSaveDir:String;
FRestrictions:TfrxDesignerRestrictions;
FOnLoadReport:TfrxLoadReportEvent;
FOnSaveReport:TfrxSaveReportEvent;
FOnShow:TNotifyEvent;
FOnShowStartupScreen:TNotifyEvent;
public
constructor Create(AOwner:TComponent); override;
destructor Destroy; override;
published
property CloseQuery:Boolean read FCloseQuery write FCloseQuery default True;
property OpenDir:String read FOpenDir write FOpenDir;
property SaveDir:String read FSaveDir write FSaveDir;
property Restrictions:TfrxDesignerRestrictions read FRestrictions write FRestrictions;
property OnLoadReport:TfrxLoadReportEvent read FOnLoadReport write FOnLoadReport;
property OnSaveReport:TfrxSaveReportEvent read FOnSaveReport write FOnSaveReport;
property OnShow:TNotifyEvent read FOnShow write FOnShow;
property OnShowStartupScreen:TNotifyEvent read FOnShowStartupScreen write FOnShowStartupScreen;
end;
TfrxDesignerForm = class(TfrxCustomDesigner)
Bevel1:TBevel;
StatusBar:TStatusBar;
DockBottom:TfrxDock;
Tab:TTabControl;
DockRight:TfrxDock;
DockTop:TfrxDock;
TextTB:TfrxToolBar;
TextTB1:TToolBar;
PanelTB1:TfrxTBPanel;
FontSizeCB:TfrxComboBox;
FontNameCB:TfrxFontComboBox;
BoldB:TToolButton;
ItalicB:TToolButton;
UnderlineB:TToolButton;
SepTB8:TToolButton;
FontColorB:TToolButton;
HighlightB:TToolButton;
SepTB9:TToolButton;
TextAlignLeftB:TToolButton;
TextAlignCenterB:TToolButton;
TextAlignRightB:TToolButton;
TextAlignBlockB:TToolButton;
SepTB10:TToolButton;
TextAlignTopB:TToolButton;
TextAlignMiddleB:TToolButton;
TextAlignBottomB:TToolButton;
FrameTB:TfrxToolBar;
FrameTB1:TToolBar;
FrameTopB:TToolButton;
FrameBottomB:TToolButton;
FrameLeftB:TToolButton;
FrameRightB:TToolButton;
SepTB11:TToolButton;
FrameAllB:TToolButton;
FrameNoB:TToolButton;
SepTB12:TToolButton;
FillColorB:TToolButton;
FrameColorB:TToolButton;
FrameStyleB:TToolButton;
PanelTB2:TfrxTBPanel;
FrameWidthCB:TfrxComboBox;
StandardTB:TfrxToolBar;
StandardTB1:TToolBar;
NewB:TToolButton;
OpenB:TToolButton;
SaveB:TToolButton;
PreviewB:TToolButton;
SepTB1:TToolButton;
CutB:TToolButton;
CopyB:TToolButton;
PasteB:TToolButton;
SepTB2:TToolButton;
UndoB:TToolButton;
RedoB:TToolButton;
SepTB3:TToolButton;
SepTB4:TToolButton;
NewPageB:TToolButton;
NewDialogB:TToolButton;
DeletePageB:TToolButton;
PageSettingsB:TToolButton;
ShowGridB:TToolButton;
AlignToGridB:TToolButton;
ExtraToolsTB:TfrxToolBar;
PagePopup:TPopupMenu;
CutMI1:TMenuItem;
CopyMI1:TMenuItem;
PasteMI1:TMenuItem;
DeleteMI1:TMenuItem;
SelectAllMI1:TMenuItem;
SepMI8:TMenuItem;
EditMI1:TMenuItem;
MainMenu:TMainMenu;
FileMenu:TMenuItem;
EditMenu:TMenuItem;
ViewMenu:TMenuItem;
ToolbarsMI:TMenuItem;
StandardMI:TMenuItem;
TextMI:TMenuItem;
FrameMI:TMenuItem;
AlignmentMI:TMenuItem;
ToolsMI:TMenuItem;
InspectorMI:TMenuItem;
DataTreeMI:TMenuItem;
OptionsMI:TMenuItem;
HelpMenu:TMenuItem;
HelpContentsMI:TMenuItem;
SepMI7:TMenuItem;
AboutMI:TMenuItem;
OpenDialog:TOpenDialog;
SaveDialog:TSaveDialog;
TabPopup:TPopupMenu;
NewPageMI1:TMenuItem;
NewDialogMI1:TMenuItem;
DeletePageMI1:TMenuItem;
PageSettingsMI1:TMenuItem;
ActionList:TActionList;
ExitCmd:TAction;
CutCmd:TAction;
CopyCmd:TAction;
PasteCmd:TAction;
UndoCmd:TAction;
RedoCmd:TAction;
DeleteCmd:TAction;
SelectAllCmd:TAction;
EditCmd:TAction;
BringToFrontCmd:TAction;
SendToBackCmd:TAction;
DeletePageCmd:TAction;
NewItemCmd:TAction;
NewPageCmd:TAction;
NewDialogCmd:TAction;
NewReportCmd:TAction;
OpenCmd:TAction;
SaveCmd:TAction;
SaveAsCmd:TAction;
VariablesCmd:TAction;
PageSettingsCmd:TAction;
PreviewCmd:TAction;
NewMI:TMenuItem;
NewReportMI:TMenuItem;
NewPageMI:TMenuItem;
NewDialogMI:TMenuItem;
SepMI1:TMenuItem;
OpenMI:TMenuItem;
SaveMI:TMenuItem;
SaveAsMI:TMenuItem;
VariablesMI:TMenuItem;
SepMI3:TMenuItem;
PreviewMI:TMenuItem;
SepMI4:TMenuItem;
ExitMI:TMenuItem;
UndoMI:TMenuItem;
RedoMI:TMenuItem;
SepMI5:TMenuItem;
CutMI:TMenuItem;
CopyMI:TMenuItem;
PasteMI:TMenuItem;
DeleteMI:TMenuItem;
DeletePageMI:TMenuItem;
SelectAllMI:TMenuItem;
SepMI6:TMenuItem;
BringtoFrontMI:TMenuItem;
SendtoBackMI:TMenuItem;
EditMI:TMenuItem;
PanelTB3:TfrxTBPanel;
ScaleCB:TfrxComboBox;
ObjectsTB1:TToolBar;
ObjectSelectB:TToolButton;
ObjectBandB:TToolButton;
BandsPopup:TPopupMenu;
ReportTitleMI:TMenuItem;
ReportSummaryMI:TMenuItem;
PageHeaderMI:TMenuItem;
PageFooterMI:TMenuItem;
HeaderMI:TMenuItem;
FooterMI:TMenuItem;
MasterDataMI:TMenuItem;
DetailDataMI:TMenuItem;
SubdetailDataMI:TMenuItem;
GroupHeaderMI:TMenuItem;
GroupFooterMI:TMenuItem;
ColumnHeaderMI:TMenuItem;
ColumnFooterMI:TMenuItem;
ChildMI:TMenuItem;
LeftDockSite1:TfrxDockSite;
LeftDockSite2:TfrxDockSite;
RightDockSite:TfrxDockSite;
VariablesB:TToolButton;
SepTB13:TToolButton;
ScrollBoxPanel:TPanel;
ScrollBox:TfrxScrollBox;
LeftRuler:TfrxRuler;
TopRuler:TfrxRuler;
PageSettingsMI:TMenuItem;
Timer:TTimer;
ReportSettingsMI:TMenuItem;
Data4levelMI:TMenuItem;
Data5levelMI:TMenuItem;
Data6levelMI:TMenuItem;
SepMI10:TMenuItem;
SepMI9:TMenuItem;
ShowGuidesMI:TMenuItem;
ShowRulersMI:TMenuItem;
DeleteGuidesMI:TMenuItem;
SepMI11:TMenuItem;
N1:TMenuItem;
BringtoFrontMI1:TMenuItem;
SendtoBackMI1:TMenuItem;
SepMI12:TMenuItem;
RotateB:TToolButton;
RotationPopup:TPopupMenu;
R0MI:TMenuItem;
R45MI:TMenuItem;
R90MI:TMenuItem;
R180MI:TMenuItem;
R270MI:TMenuItem;
SampleFormatB:TToolButton;
SetToGridB:TToolButton;
ShadowB:TToolButton;
HandToolB:TToolButton;
ZoomToolB:TToolButton;
TextToolB:TToolButton;
FormatToolB:TToolButton;
SepTB14:TToolButton;
ReportMenu:TMenuItem;
ReportDataMI:TMenuItem;
CodePanel:TPanel;
CodeTB:TToolBar;
frTBPanel1:TfrxTBPanel;
LangL:TLabel;
LangCB:TfrxComboBox;
OpenScriptDialog:TOpenDialog;
SaveScriptDialog:TSaveDialog;
OpenScriptB:TToolButton;
SaveScriptB:TToolButton;
ReportTreeMI:TMenuItem;
ObjectsPopup:TPopupMenu;
AlignTB:TfrxToolBar;
AlignTB1:TToolBar;
AlignLeftsB:TToolButton;
AlignHorzCentersB:TToolButton;
AlignRightsB:TToolButton;
AlignTopsB:TToolButton;
AlignVertCentersB:TToolButton;
AlignBottomsB:TToolButton;
SpaceHorzB:TToolButton;
SpaceVertB:TToolButton;
CenterHorzB:TToolButton;
CenterVertB:TToolButton;
SameWidthB:TToolButton;
SameHeightB:TToolButton;
SepTB15:TToolButton;
SepTB16:TToolButton;
SepTB18:TToolButton;
SepTB17:TToolButton;
OverlayMI:TMenuItem;
StyleCB:TfrxComboBox;
ReportStylesMI:TMenuItem;
TabOrderMI:TMenuItem;
ExtraToolsTB1:TToolBar;
SepTB19:TToolButton;
RunScriptB:TToolButton;
StepScriptB:TToolButton;
StopScriptB:TToolButton;
EvaluateB:TToolButton;
N2:TMenuItem;
FindMI:TMenuItem;
FindNextMI:TMenuItem;
ReplaceMI:TMenuItem;
DMPPopup:TPopupMenu;
BoldMI:TMenuItem;
ItalicMI:TMenuItem;
UnderlineMI:TMenuItem;
SuperScriptMI:TMenuItem;
SubScriptMI:TMenuItem;
CondensedMI:TMenuItem;
WideMI:TMenuItem;
N12cpiMI:TMenuItem;
N15cpiMI:TMenuItem;
FontB:TToolButton;
VerticalbandsMI:TMenuItem;
HeaderMI1:TMenuItem;
FooterMI1:TMenuItem;
MasterDataMI1:TMenuItem;
DetailDataMI1:TMenuItem;
SubdetailDataMI1:TMenuItem;
GroupHeaderMI1:TMenuItem;
GroupFooterMI1:TMenuItem;
ChildMI1:TMenuItem;
N3:TMenuItem;
GroupB:TToolButton;
UngroupB:TToolButton;
SepTB20:TToolButton;
GroupCmd:TAction;
UngroupCmd:TAction;
GroupMI:TMenuItem;
UngroupMI:TMenuItem;
DataLV:TListView;
procedure FormCreate(Sender:TObject);
procedure ExitCmdExecute(Sender:TObject);
procedure ObjectsButtonClick(Sender:TObject);
procedure StatusBarDrawPanel(StatusBar:TStatusBar;
Panel:TStatusPanel; const ARect:TRect);
procedure FormDestroy(Sender:TObject);
procedure ScrollBoxMouseWheelUp(Sender:TObject; Shift:TShiftState;
MousePos:TPoint; var Handled:Boolean);
procedure ScrollBoxMouseWheelDown(Sender:TObject; Shift:TShiftState;
MousePos:TPoint; var Handled:Boolean);
procedure ScrollBoxResize(Sender:TObject);
procedure ScaleCBClick(Sender:TObject);
procedure ShowGridBClick(Sender:TObject);
procedure AlignToGridBClick(Sender:TObject);
procedure StatusBarDblClick(Sender:TObject);
procedure StatusBarMouseDown(Sender:TObject; Button:TMouseButton;
Shift:TShiftState; X, Y:Integer);
procedure InsertBandClick(Sender:TObject);
procedure BandsPopupPopup(Sender:TObject);
procedure ToolbarsMIOpen(Sender:TObject);
procedure ToolbarsMIClick(Sender:TObject);
procedure FormClose(Sender:TObject; var Action:TCloseAction);
procedure NewReportCmdExecute(Sender:TObject);
procedure ToolButtonClick(Sender:TObject);
procedure FormKeyDown(Sender:TObject; var Key:Word;
Shift:TShiftState);
procedure FontColorBClick(Sender:TObject);
procedure FrameStyleBClick(Sender:TObject);
procedure TabChange(Sender:TObject);
procedure OptionsMIClick(Sender:TObject);
procedure UndoCmdExecute(Sender:TObject);
procedure RedoCmdExecute(Sender:TObject);
procedure CutCmdExecute(Sender:TObject);
procedure CopyCmdExecute(Sender:TObject);
procedure PasteCmdExecute(Sender:TObject);
procedure TimerTimer(Sender:TObject);
procedure DeletePageCmdExecute(Sender:TObject);
procedure NewDialogCmdExecute(Sender:TObject);
procedure NewPageCmdExecute(Sender:TObject);
procedure SaveCmdExecute(Sender:TObject);
procedure SaveAsCmdExecute(Sender:TObject);
procedure OpenCmdExecute(Sender:TObject);
procedure FormCloseQuery(Sender:TObject; var CanClose:Boolean);
procedure DeleteCmdExecute(Sender:TObject);
procedure SelectAllCmdExecute(Sender:TObject);
procedure EditCmdExecute(Sender:TObject);
procedure TabChanging(Sender:TObject; var AllowChange:Boolean);
procedure AboutMIClick(Sender:TObject);
procedure ReportSettingsMIClick(Sender:TObject);
procedure PageSettingsCmdExecute(Sender:TObject);
procedure TopRulerDragOver(Sender, Source:TObject; X, Y:Integer;
State:TDragState; var Accept:Boolean);
procedure ShowRulersMIClick(Sender:TObject);
procedure ShowGuidesMIClick(Sender:TObject);
procedure DeleteGuidesMIClick(Sender:TObject);
procedure AlignLeftsBClick(Sender:TObject);
procedure AlignRightsBClick(Sender:TObject);
procedure AlignTopsBClick(Sender:TObject);
procedure AlignBottomsBClick(Sender:TObject);
procedure AlignHorzCentersBClick(Sender:TObject);
procedure AlignVertCentersBClick(Sender:TObject);
procedure CenterHorzBClick(Sender:TObject);
procedure CenterVertBClick(Sender:TObject);
procedure SpaceHorzBClick(Sender:TObject);
procedure SpaceVertBClick(Sender:TObject);
procedure SelectToolBClick(Sender:TObject);
procedure PagePopupPopup(Sender:TObject);
procedure BringToFrontCmdExecute(Sender:TObject);
procedure SendToBackCmdExecute(Sender:TObject);
procedure SampleFormatBClick(Sender:TObject);
procedure LangCBClick(Sender:TObject);
procedure OpenScriptBClick(Sender:TObject);
procedure SaveScriptBClick(Sender:TObject);
procedure ReportDataMIClick(Sender:TObject);
procedure CodeWindowDragOver(Sender, Source:TObject; X, Y:Integer;
State:TDragState; var Accept:Boolean);
procedure CodeWindowDragDrop(Sender, Source:TObject; X, Y:Integer);
procedure VariablesCmdExecute(Sender:TObject);
procedure ObjectBandBClick(Sender:TObject);
procedure PreviewCmdExecute(Sender:TObject);
procedure HighlightBClick(Sender:TObject);
procedure TabMouseDown(Sender:TObject; Button:TMouseButton;
Shift:TShiftState; X, Y:Integer);
procedure TabMouseMove(Sender:TObject; Shift:TShiftState; X,
Y:Integer);
procedure TabMouseUp(Sender:TObject; Button:TMouseButton;
Shift:TShiftState; X, Y:Integer);
procedure TabDragDrop(Sender, Source:TObject; X, Y:Integer);
procedure TabDragOver(Sender, Source:TObject; X, Y:Integer;
State:TDragState; var Accept:Boolean);
procedure SameWidthBClick(Sender:TObject);
procedure SameHeightBClick(Sender:TObject);
procedure ReportStylesMIClick(Sender:TObject);
procedure NewItemCmdExecute(Sender:TObject);
procedure TabOrderMIClick(Sender:TObject);
procedure RunScriptBClick(Sender:TObject);
procedure StopScriptBClick(Sender:TObject);
procedure EvaluateBClick(Sender:TObject);
procedure FindMIClick(Sender:TObject);
procedure FindNextMIClick(Sender:TObject);
procedure GroupCmdExecute(Sender:TObject);
procedure UngroupCmdExecute(Sender:TObject);
procedure DataLVClick(Sender:TObject);
procedure DataLVDblClick(Sender:TObject);
procedure DataLVKeyDown(Sender:TObject; var Key:Word;
Shift:TShiftState);
procedure DataLVChange(Sender:TObject; Item:TListItem;
Change:TItemChange);
private
{ Private declarations }
FClipboard:TfrxClipboard;
FCodeWindow:TfrxSyntaxMemo;
FColor:TColor;
FCoord1:String;
FCoord2:String;
FCoord3:String;
FDialogForm:TfrxDialogForm;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -