📄 rm_designer.pas
字号:
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 + -