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

📄 rm_designer.pas

📁 这是一个功能强大
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  with ToolbarSep971 do
  begin
    AddTo := Self;
  end;

  btnPrint := TRMToolbarButton.Create(Self);
  with btnPrint do
  begin
    ImageIndex := 3;
    Images := FDesignerForm.ImageListStand;
    OnClick := FDesignerForm.padPrintClick;
    AddTo := Self;
  end;
  btnPreview := TRMToolbarButton.Create(Self);
  with btnPreview do
  begin
    ImageIndex := 4;
    Images := FDesignerForm.ImageListStand;
    OnClick := FDesignerForm.btnPreviewClick;
    AddTo := Self;
  end;
  btnPreview1 := TRMToolbarButton.Create(Self);
  with btnPreview1 do
  begin
    ImageIndex := 45;
    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.btnCutClick;
    AddTo := Self;
  end;
  btnCopy := TRMToolbarButton.Create(Self);
  with btnCopy do
  begin
    ImageIndex := 6;
    Images := FDesignerForm.ImageListStand;
    OnClick := FDesignerForm.btnCopyClick;
    AddTo := Self;
  end;
  btnPaste := TRMToolbarButton.Create(Self);
  with btnPaste do
  begin
    ImageIndex := 7;
    Images := FDesignerForm.ImageListStand;
    OnClick := FDesignerForm.btnPasteClick;
    AddTo := Self;
  end;
  ToolbarSep973 := TRMToolbarSep.Create(Self);
  with ToolbarSep973 do
  begin
    AddTo := Self;
  end;

  btnRedo := TRMToolbarButton.Create(Self);
  with btnRedo do
  begin
    ImageIndex := 9;
    Images := FDesignerForm.ImageListStand;
    OnClick := FDesignerForm.btnRedoClick;
    AddTo := Self;
  end;
  btnUndo := TRMToolbarButton.Create(Self);
  with btnUndo do
  begin
    ImageIndex := 8;
    Images := FDesignerForm.ImageListStand;
    OnClick := FDesignerForm.btnUndoClick;
    AddTo := Self;
  end;
  ToolbarSep975 := TRMToolbarSep.Create(Self);
  with ToolbarSep975 do
  begin
    AddTo := Self;
  end;
  btnBringtoFront := TRMToolbarButton.Create(Self);
  with btnBringtoFront do
  begin
    ImageIndex := 10;
    Images := FDesignerForm.ImageListStand;
    //OnClick := FDesignerForm.btnBringtoFrontClick;
    AddTo := Self;
  end;
  btnSendtoBack := TRMToolbarButton.Create(Self);
  with btnSendtoBack do
  begin
    ImageIndex := 11;
    Images := FDesignerForm.ImageListStand;
    //OnClick := FDesignerForm.btnSendtoBackClick;
    AddTo := Self;
  end;
  btnSelectAll := TRMToolbarButton.Create(Self);
  with btnSelectAll do
  begin
    ImageIndex := 12;
    Images := FDesignerForm.ImageListStand;
    //OnClick := FDesignerForm.btnSelectAllClick;
    AddTo := Self;
  end;
  ToolbarSep974 := TRMToolbarSep.Create(Self);
  with ToolbarSep974 do
  begin
    AddTo := Self;
  end;

  SetLength(FAryButton, 0);
  _CreatePageButtons(True);
  _CreatePageButtons(False);
  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.btnPageSetupClick;
    AddTo := Self;
  end;
  ToolbarSep976 := TRMToolbarSep.Create(Self);
  with ToolbarSep976 do
  begin
    AddTo := Self;
  end;

  GB1 := TRMToolbarButton.Create(Self);
  with GB1 do
  begin
    Tag := 55;
    AllowAllUp := True;
    GroupIndex := 1;
    ImageIndex := 17;
    Images := FDesignerForm.ImageListStand;
    OnClick := FDesignerForm.GB1Click;
    AddTo := Self;
  end;
  GB2 := TRMToolbarButton.Create(Self);
  with GB2 do
  begin
    Tag := 56;
    AllowAllUp := True;
    GroupIndex := 2;
    ImageIndex := 18;
    Images := FDesignerForm.ImageListStand;
    OnClick := FDesignerForm.GB2Click;
    AddTo := Self;
  end;
  GB3 := TRMToolbarButton.Create(Self);
  with GB3 do
  begin
    Tag := 57;
    ImageIndex := 19;
    Images := FDesignerForm.ImageListStand;
    OnClick := FDesignerForm.GB3Click;
    AddTo := Self;
  end;
  ToolbarSep9723 := TRMToolbarSep.Create(Self);
  with ToolbarSep9723 do
  begin
    AddTo := Self;
  end;

  cmbScale := TRMComboBox97 {TComboBox}.Create(Self);
  with cmbScale do
  begin
    Parent := Self;
    TabStop := False;
    cmbScale.
      Width := 50;
    Items.Add('25%');
    Items.Add('50%');
    Items.Add('75%');
    Items.Add('100%');
    Items.Add('150%');
    Items.Add('200%');
    Items.Add('400%');
    Text := '100%';

    OnChange := OnCmbScaleChangeEvent;
  end;
  ToolbarSepScale := TRMToolbarSep.Create(Self);
  with ToolbarSepScale do
  begin
    AddTo := Self;
  end;
//  cmbScale.Visible := False;
//  ToolbarSepScale.Visible := False;

  btnExit := TRMToolbarButton.Create(Self);
  with btnExit do
  begin
    ImageIndex := 20;
    Images := FDesignerForm.ImageListStand;
    OnClick := FDesignerForm.btnExitClick;
    AddTo := Self;
  end;

//  EndUpdate;
  Localize;
end;

procedure TRMToolbarStandard.Localize;
begin
  RMSetStrProp(btnFileNew, 'Hint', rmRes + 087);
  RMSetStrProp(btnFileOpen, 'Hint', rmRes + 088);
  RMSetStrProp(btnFileSave, 'Hint', rmRes + 089);
  RMSetStrProp(btnPreview, 'Hint', rmRes + 090);
  RMSetStrProp(btnPrint, 'Hint', rmRes + 937);
  RMSetStrProp(btnCut, 'Hint', rmRes + 091);
  RMSetStrProp(btnCopy, 'Hint', rmRes + 092);
  RMSetStrProp(btnPaste, 'Hint', rmRes + 093);
  RMSetStrProp(btnUndo, 'Hint', rmRes + 094);
  RMSetStrProp(btnRedo, 'Hint', rmRes + 095);
  RMSetStrProp(btnDeletePage, 'Hint', rmRes + 100);
  RMSetStrProp(btnPageSetup, 'Hint', rmRes + 101);
  RMSetStrProp(GB1, 'Hint', rmRes + 102);
  RMSetStrProp(GB2, 'Hint', rmRes + 103);
  RMSetStrProp(GB3, 'Hint', rmRes + 104);
  RMSetStrProp(btnExit, 'Hint', rmRes + 106);
  RMSetStrProp(btnBringtoFront, 'Hint', rmRes + 096);
  RMSetStrProp(btnSendtoBack, 'Hint', rmRes + 097);
  RMSetStrProp(btnSelectAll, 'Hint', rmRes + 098);
  RMSetStrProp(btnPreview1, 'Hint', rmRes + 877);
end;

procedure TRMToolbarStandard.OnCmbScaleChangeEvent(Sender: TObject);
var
  liStr: string;
begin
  FDesignerForm.SetFocus;
  if FDesignerForm.Page is TRMReportPage then
  begin
    liStr := Trim(cmbScale.Text);
    if liStr <> '' then
    begin
      if liStr[Length(liStr)] = '%' then
        SetLength(liStr, Length(liStr) - 1);
      FDesignerForm.Factor := StrToInt(liStr);
    end;
  end;
end;

{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{ TRMSynEdit }

constructor TRMSynEditor.Create(aOwner: TComponent);
begin
  inherited;
{$IFDEF USE_SYNEDIT}
  FSynHighlighter := nil;
{$ELSE}  
{$ENDIF}
end;

destructor TRMSynEditor.Destroy;
begin

  inherited;
end;

{$IFNDEF USE_SYNEDIT}
procedure TRMSynEditor.OnCodeMemoPaintGutterEvent(Sender: TObject; aCanvas: TCanvas);
var
  i, Y: integer;
  str: string;
begin
  Y := 0;
  for i := TopRow to TopRow + LastVisibleRow do
  begin
    str := IntToStr(i + 1);
    aCanvas.TextOut(GutterWidth - aCanvas.TextWidth(str) - 4, Y, str);
    Inc(Y, CellRect.Height);
  end;
end;
{$ENDIF}

function TRMSynEditor.CreateStringList: TStrings;
begin
  Result := Self.Lines;
end;

procedure TRMSynEditor.SetHighLighter(aHighLighter: TRMHighLighter);
begin
{$IFDEF USE_SYNEDIT}
   case aHighLighter of
     rmhlPascal:
     begin
       if FSynHighlighter <> nil then
         FSynHighlighter.Free;
       FSynHighlighter := TSynPasSyn.Create(Self);
       Self.Highlighter := FSynHighlighter;
     end;
     rmhlSql:
     begin
       if FSynHighlighter <> nil then
         FSynHighlighter.Free;
       FSynHighlighter := TSynSQLSyn.Create(Self);
       Self.Highlighter := FSynHighlighter;
     end;
   end;
{$ELSE}
  HighLighter := TJvHighlighter(aHighLighter);
{$ENDIF}
end;

procedure TRMSynEditor.SetGutterWidth(aWidth: Integer);
begin
{$IFDEF USE_SYNEDIT}
  Gutter.Width := aWidth;
{$ELSE}
  GutterWidth := aWidth;
{$ENDIF}
end;

procedure TRMSynEditor.SetGroupUndo(aValue: Boolean);
begin
{$IFDEF USE_SYNEDIT}
  if aValue then
    Options := Options + [eoGroupUndo]
  else
    Options := Options - [eoGroupUndo];
{$ELSE}
  GroupUndo := aValue;
{$ENDIF}

end;

procedure TRMSynEditor.SetUndoAfterSave(aValue: Boolean);
begin
{$IFDEF USE_SYNEDIT}
{$ELSE}
  UndoAfterSave := aValue;
{$ENDIF}
end;

procedure TRMSynEditor.SetShowLineNumbers(aValue: Boolean);
begin
{$IFDEF USE_SYNEDIT}
  Gutter.ShowLineNumbers := aValue;
{$ELSE}
  if aValue then
    OnPaintGutter := OnCodeMemoPaintGutterEvent
  else
    OnPaintGutter := nil;
{$ENDIF}
end;

procedure TRMSynEditor.SetReservedForeColor(aValue: TColor);
begin
{$IFDEF USE_SYNEDIT}
  if Self.Highlighter <> nil then
    Self.Highlighter.KeywordAttribute.Foreground := aValue;
{$ELSE}
  Colors.Reserved.ForeColor := aValue;
{$ENDIF}
end;

procedure TRMSynEditor.SetCommentForeColor(aValue: TColor);
begin
{$IFDEF USE_SYNEDIT}
  if Self.Highlighter <> nil then
    Self.Highlighter.CommentAttribute.Foreground := aValue;
{$ELSE}
  Colors.Comment.ForeColor := aValue;
{$ENDIF}
end;

procedure TRMSynEditor.RMClearUndoBuffer;
begin
{$IFDEF USE_SYNEDIT}
  Self.ClearUndo;
{$ELSE}
  UndoBuffer.Clear;
{$ENDIF}
end;

function TRMSynEditor.RMCanCut: Boolean;
begin
{$IFDEF USE_SYNEDIT}
  Result := Self.SelAvail;
{$ELSE}
  Result := CanCut;
{$ENDIF}
end;

function TRMSynEditor.RMCanCopy: Boolean;
begin
{$IFDEF USE_SYNEDIT}
  Result := Self.SelAvail;
{$ELSE}
  Result := CanCopy;
{$ENDIF}
end;

function TRMSynEditor.RMCanPaste: Boolean;
begin
{$IFDEF USE_SYNEDIT}
  Result := Self.CanPaste;
{$ELSE}
  Result := CanPaste;
{$ENDIF}
end;

function TRMSynEditor.RMCanUndo: Boolean;
begin
{$IFDEF USE_SYNEDIT}
  Result := Self.CanUndo;
{$ELSE}
  Result := UndoBuffer.CanUndo;
{$ENDIF}
end;

function TRMSynEditor.RMCanRedo: Boolean;
begin
{$IFDEF USE_SYNEDIT}
  Result := Self.CanRedo;
{$ELSE}
  Result := False;
  //Result := UndoBuffer.CanUndo;
{$ENDIF}
end;

procedure TRMSynEditor.RMClipBoardCut;
begin
{$IFDEF USE_SYNEDIT}
  Self.CutToClipboard;
{$ELSE}
  ClipBoardCut;
{$ENDIF}
end;

procedure TRMSynEditor.RMClipBoardCopy;
begin
{$IFDEF USE_SYNEDIT}
  Self.CopyToClipboard;
{$ELSE}
  ClipBoardCopy;
{$ENDIF}
end;

procedure TRMSynEditor.RMClipBoardPaste;
begin
{$IFDEF USE_SYNEDIT}
  Self.PasteFromClipboard;
{$ELSE}
  ClipBoardPaste;
{$ENDIF}

⌨️ 快捷键说明

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