rm_dsggridreport.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 2,209 行 · 第 1/5 页
PAS
2,209 行
// PopMenu
SelectionMenu: TRMPopupMenu;
PopupMenu1: TRMPopupMenu;
PopupMenuBands: TRMPopupMenu;
itmGridMenuBandProp: TRMMenuItem;
itmCellProp: TRMMenuItem;
// itmSplit1: TRMSeparatorMenuItem;
itmMergeCells: TRMMenuItem;
itmSplitCells: TRMMenuItem;
N3: TRMSeparatorMenuItem;
itmInsert: TRMSubmenuItem;
itmInsertLeftColumn: TRMMenuItem;
itmInsertRightColumn: TRMMenuItem;
N10: TRMSeparatorMenuItem;
itmInsertTopRow: TRMMenuItem;
itmInsertBottomRow: TRMMenuItem;
itmSep1: TRMSeparatorMenuItem;
itmInsertLeftCell: TRMMenuItem;
itmInsertTopCell: TRMMenuItem;
itmDelete: TRMSubmenuItem;
itmDeleteColumn: TRMMenuItem;
itmDeleteRow: TRMMenuItem;
itmDeleteSep1: TRMSeparatorMenuItem;
itmDeleteLeftCell: TRMMenuItem;
itmDeleteTopCell: TRMMenuItem;
N6: TRMSeparatorMenuItem;
itmCellType: TRMSubmenuItem;
itmMemoView: TRMMenuItem;
itmCalcMemoView: TRMMenuItem;
itmPictureView: TRMMenuItem;
itmSubReportView: TRMMenuItem;
itmInsertBand: TRMSubmenuItem;
itmSelectBand: TRMSubmenuItem;
N4: TRMSeparatorMenuItem;
itmFrameType: TRMMenuItem;
itmEdit: TRMMenuItem;
padpopClearContents: TRMMenuItem;
padpopOtherProp: TRMMenuItem;
N100: TRMSeparatorMenuItem;
SelectionMenu_popCut: TRMMenuItem;
SelectionMenu_popCopy: TRMMenuItem;
SelectionMenu_popPaste: TRMMenuItem;
// N101: TRMSeparatorMenuItem;
N102: TRMSeparatorMenuItem;
Popup1: TRMPopupMenu;
padpopCut: TRMMenuItem;
padpopCopy: TRMMenuItem;
padpopPaste: TRMMenuItem;
padpopDelete: TRMMenuItem;
padpopSelectAll: TRMMenuItem;
MenuItem1: TRMSeparatorMenuItem;
padpopEdit: TRMMenuItem;
// ToolbarPopMenu
ToolbarPopMenu: TRMPopupMenu;
ToolbarPopStandard: TRMMenuItem;
ToolbarPopEdit: TRMMenuItem;
ToolbarPopBorder: TRMMenuItem;
ToolbarPopInsp: TRMMenuItem;
ToolbarPopInsDBField: TRMMenuItem;
ToolbarPopGrid: TRMMenuItem;
ToolbarPopCellEdit: TRMMenuItem;
//dejoy add end
ToolbarStandard: TRMToolbarStandard;
ToolbarEdit: TRMToolbarEdit;
ToolbarBorder: TRMToolbarBorder;
ToolbarGrid: TRMToolbarGrid;
ToolbarCellEdit: TRMToolbarCellEdit;
FUndoBusy: Boolean;
FUndoBuffer, FRedoBuffer: TRMUndoBuffer;
FUndoBufferLength, FRedoBufferLength: Integer;
procedure padSearchFindClick(Sender: TObject);
procedure padSearchReplaceClick(Sender: TObject);
procedure padSearchFindAgainClick(Sender: TObject);
// procedure FindNext;
// procedure Replace_FindNext;
procedure ToolBarPopMenuPopup(Sender: TObject);
procedure itmInsertLeftCellClick(Sender: TObject);
procedure itmInsertTopCellClick(Sender: TObject);
procedure itmDeleteLeftCellClick(Sender: TObject);
procedure itmDeleteTopCellClick(Sender: TObject);
procedure SetObjectsID;
procedure ClearUndoBuffer;
procedure ClearRedoBuffer;
procedure ReleaseAction(aActionRec: PRMUndoRec);
procedure AddAction(aBuffer: PRMUndoBuffer; aAction: TRMUndoAction; aObject: TObject; aRec: PRMUndoRec);
procedure Undo(aBuffer: PRMUndoBuffer);
procedure btnColumnMinClick(Sender: TObject);
procedure btnColumnMaxClick(Sender: TObject);
procedure btnRowMinClick(Sender: TObject);
procedure btnRowMaxClick(Sender: TObject);
procedure btnDBFieldClick(Sender: TObject);
procedure btnExpressionClick(Sender: TObject);
procedure DoClick(Sender: TObject);
function HaveBand(aBandType: TRMBandType): Boolean;
procedure SetGridProp;
procedure SetGridNilProp;
procedure RefreshProp;
procedure Localize;
procedure SaveIni;
procedure LoadIni;
procedure Pan5Click(Sender: TObject);
procedure OnDockRequestDockEvent(Sender: TObject; Bar: TRMCustomDockableWindow; var Accept: Boolean);
procedure SelectObject(aObjName: string);
procedure OnInspBeforeModify(Sender: TObject; const aPropName: string);
procedure OnInspAfterModify(Sender: TObject; const aPropName, aPropValue: string);
procedure InspSelectionChanged(ObjName: string);
procedure InspGetObjects(aList: TStrings);
procedure FillInspFields;
procedure SetGridHeader;
procedure OnGridDblClickEvent(Sender: TObject);
procedure OnGridClick(Sender: TObject);
procedure OnGridChange(Sender: TObject);
procedure OnGridDragDrop(Sender, Source: TObject; X, Y: Integer);
procedure OnGridDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState;
var Accept: Boolean);
procedure OnGridRowHeaderClick(Sender: TObject);
procedure OnGridRowHeaderDblClick(Sender: TObject);
procedure OnGridBeginSizingCell(Sender: TObject);
procedure OnGridKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure OnGridBeforeChangeCell(aGrid: TRMGridEx; aCell: TRMCellInfo);
procedure Popup1Popup(Sender: TObject);
procedure SelectionMenuPopup(Sender: TObject);
procedure itmGridMenuBandClick(Sender: TObject);
procedure OnAddBandEvent(Sender: TObject);
function _GetSelectionStatus: TRMSelectionStatus;
function _DelEnabled: Boolean;
function _CutEnabled: Boolean;
function _CopyEnabled: Boolean;
function _PasteEnabled: Boolean;
procedure OpenFile(aFileName: string);
function FileSave: Boolean;
function FileSaveAs: Boolean;
procedure SetOpenFileMenuItems(const aNewFile: string);
function GetScript: TStrings;
procedure SetScript(Value: TStrings);
procedure SetCurDocName(Value: string);
function GetUnitType: TRMUnitType;
procedure SetUnitType(aValue: TRMUnitType);
protected
procedure EnableControls; override;
procedure ShowPosition; override;
procedure DoFormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); override;
function GetModified: Boolean; override;
procedure SetModified(Value: Boolean); override;
procedure SetFactor(Value: Integer); override;
function GetDesignerRestrictions: TRMDesignerRestrictions; override;
procedure SetDesignerRestrictions(Value: TRMDesignerRestrictions); override;
procedure SetCurPage(Value: Integer); override;
procedure RefreshData; override;
public
{ Public declarations }
procedure BeforeChange; override;
procedure AfterChange; override;
function InsertDBField: string; override;
function InsertExpression: string; override;
procedure MemoViewEditor(t: TRMView); override;
procedure RMFontEditor(Sender: TObject); override;
procedure RMDisplayFormatEditor(Sender: TObject); override;
procedure PictureViewEditor(t: TRMView); override;
procedure RMCalcMemoEditor(Sender: TObject); override;
function PageObjects: TList; override;
procedure AddUndoAction(aAction: TRMUndoAction); override;
procedure UnSelectAll; override;
procedure SelectionChanged(aRefreshInspProp: Boolean); override;
procedure SetPageTabs; override;
procedure ResetSelection; override;
procedure ShowContent; override;
property Script: TStrings read GetScript write SetScript;
property CurDocName: string read FCurDocName write SetCurDocName;
property AutoOpenLastFile: Boolean read FAutoOpenLastFile write FAutoOpenLastFile;
property UnitType: TRMUnitType read GetUnitType write SetUnitType;
end;
implementation
{$R *.DFM}
uses
Math, Registry, RM_Const, RM_Const1, RM_Utils, RM_PageSetup, RM_EditorMemo,
RM_EditorPicture, RM_EditorHilit, RM_EditorFrame, RM_EditorField, RM_EditorExpr,
RM_EditorReportProp, RM_Printer, RM_About, RM_EditorFormat,
RM_EditorDictionary, RM_EditorCalc, RM_EditorGroup, RM_EditorCellProp, RM_EditorGridCols,
RM_EditorCellWidth, RM_EditorBand, RM_DesignerOptions, RM_EditorHF,
RM_Wizard, RM_WizardNewReport, RM_wzGridStd;
const
AddInObjectOffset = 4;
TAG_SetFrameTop = 1;
TAG_SetFrameLeft = 2;
TAG_SetFrameBottom = 3;
TAG_SetFrameRight = 4;
TAG_BackColor = 5;
TAG_FrameStyle = 6;
TAG_SetFontName = 7;
TAG_SetFontSize = 8;
TAG_FontBold = 9;
TAG_FontItalic = 10;
TAG_FontUnderline = 11;
TAG_HAlignLeft = 12;
TAG_HAlignCenter = 13;
TAG_HAlignRight = 14;
TAG_HAlignEuqal = 15;
TAG_FrameSize = 16;
TAG_FontColor = 17;
TAG_FrameColor = 19;
TAG_SetFrame = 20;
TAG_NoFrame = 21;
TAG_Frame1 = 22;
TAG_Frame2 = 23;
TAG_Frame3 = 24;
TAG_Frame4 = 25;
TAG_DecWidth = 26;
TAG_IncWidth = 27;
TAG_DecHeight = 28;
TAG_IncHeight = 29;
TAG_VAlignTop = 31;
TAG_VAlignCenter = 32;
TAG_VAlignBottom = 33;
type
THackView = class(TRMView)
end;
THackReportView = class(TRMReportView)
end;
THackPage = class(TRMCustomPage)
end;
THackGridEx = class(TRMGridEx)
end;
var
FDesignerComp: TRMGridReportDesigner;
FUnitType: TRMUnitType;
{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{ TRMToolbarStandard }
constructor TRMToolbarStandard.CreateAndDock(AOwner: TComponent; DockTo: TRMDock);
begin
inherited Create(AOwner);
BeginUpdate;
Dockedto := DockTo;
FDesignerForm := TRMGridReportDesignerForm(AOwner);
DockRow := 0;
DockPos := 0;
Name := 'GridReport_ToolbarStandard';
CloseButton := False;
btnFileNew := TRMToolbarButton.Create(Self);
with btnFileNew do
begin
ShowHint := True;
ImageIndex := 0;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.btnFileNewClick;
AddTo := Self;
end;
{$IFDEF USE_TB2K}
btnFileOpen := TRMSubmenuItem.Create(Self);
{$ELSE}
btnFileOpen := TRMToolbarButton.Create(Self);
{$ENDIF}
with btnFileOpen do
begin
ImageIndex := 1;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuFileOpenClick;
AddTo := Self;
DropdownCombo := True;
{$IFNDEF USE_TB2k}
DropdownMenu := FDesignerForm.PopupMenu1;
{$ENDIF}
end;
btnFileSave := TRMToolbarButton.Create(Self);
with btnFileSave do
begin
ImageIndex := 2;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuFileSaveClick;
AddTo := Self;
end;
ToolbarSep971 := TRMToolbarSep.Create(Self);
with ToolbarSep971 do
begin
AddTo := Self;
end;
btnPrint := TRMToolbarButton.Create(Self);
with btnPrint do
begin
ImageIndex := 3;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuFilePrintClick;
AddTo := Self;
end;
btnPreview := TRMToolbarButton.Create(Self);
with btnPreview do
begin
ImageIndex := 4;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuFilePreviewClick;
AddTo := Self;
end;
btnPreview1 := TRMToolbarButton.Create(Self);
with btnPreview1 do
begin
ImageIndex := 29;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuFilePreview1Click;
AddTo := Self;
end;
ToolbarSep972 := TRMToolbarSep.Create(Self);
with ToolbarSep972 do
begin
AddTo := Self;
end;
btnCut := TRMToolbarButton.Create(Self);
with btnCut do
begin
ImageIndex := 5;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuEditCutClick;
AddTo := Self;
end;
btnCopy := TRMToolbarButton.Create(Self);
with btnCopy do
begin
ImageIndex := 6;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuEditCopyClick;
AddTo := Self;
end;
btnPaste := TRMToolbarButton.Create(Self);
with btnPaste do
begin
ImageIndex := 7;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuEditPasteClick;
AddTo := Self;
end;
ToolbarSep974 := TRMToolbarSep.Create(Self);
with ToolbarSep974 do
begin
AddTo := Self;
end;
btnRedo := TRMToolbarButton.Create(Self);
with btnRedo do
begin
ImageIndex := 9;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuEditRedoClick;
AddTo := Self;
end;
btnUndo := TRMToolbarButton.Create(Self);
with btnUndo do
begin
ImageIndex := 8;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuEditUndoClick;
AddTo := Self;
end;
ToolbarSep2 := TRMToolbarSep.Create(Self);
with ToolbarSep2 do
begin
AddTo := Self;
end;
btnAddPage := TRMToolbarButton.Create(Self);
with btnAddPage do
begin
ImageIndex := 13;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.btnAddPageClick;
AddTo := Self;
end;
btnAddForm := TRMToolbarButton.Create(Self);
with btnAddForm do
begin
ImageIndex := 14;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuEditAddFormClick;
AddTo := Self;
end;
btnDeletePage := TRMToolbarButton.Create(Self);
with btnDeletePage do
begin
ImageIndex := 15;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.btnDeletePageClick;
AddTo := Self;
end;
btnPageSetup := TRMToolbarButton.Create(Self);
with btnPageSetup do
begin
ImageIndex := 16;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuFilePageSetupClick;
AddTo := Self;
end;
ToolbarSep973 := TRMToolbarSep.Create(Self);
with ToolbarSep973 do
begin
AddTo := Self;
end;
btnExit := TRMToolbarButton.Create(Self);
with btnExit do
begin
ImageIndex := 20;
Images := FDesignerForm.ImageListStand;
OnClick := FDesignerForm.MenuFileExitClick;
AddTo := Self;
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?