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

📄 frxdesgn.pas

📁 报表源码 FastReport 3 is new generation of the report generators components. It consists of report engin
💻 PAS
📖 第 1 页 / 共 5 页
字号:
{******************************************}
{ }
{ 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 + -