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

📄 rm_dsggridreport.pas

📁 这是一个功能强大
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    FPageEditor.FGrid.MergeCell(i, lRect.Top, i, lRect.Bottom);
  end;
end;

procedure TRMToolbarGrid.OnMergeRowClick(Sender: TObject);
var
  i: Integer;
  lRect: TRect;
begin
  FPageEditor.FDesignerForm.Modified := True;
  lRect := FPageEditor.FGrid.Selection;
  for i := lRect.Top to lRect.Bottom do
  begin
    FPageEditor.FGrid.MergeCell(lRect.Left, i, lRect.Right, i);
  end;
end;

procedure TRMToolbarGrid.OnBtnSetRowsAndColumnsClick(Sender: TObject);
var
  lRect: TRect;
begin
  FPageEditor.Editor_AddUndoAction(rmacChangeGrid);
  lRect := FPageEditor.FGrid.Selection;
  FPageEditor.FGrid.RowCount := lRect.Bottom + 1;
  FPageEditor.FGrid.ColCount := lRect.Right + 1;
  FPageEditor.FDesignerForm.Modified := True;
end;

{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{ TRMToolbarCellEdit }

constructor TRMToolbarCellEdit.CreateAndDock(AOwner: TComponent; DockTo: TRMDock);
begin
  inherited Create(AOwner);
  Visible := False;
//  BeginUpdate;
  Dockedto := DockTo;
  FPageEditor := TRMGridReportPageEditor(AOwner);
  DockRow := 3;
  DockPos := 100;
  Name := 'GridReport_ToolbarCellEdit';
  CloseButton := True;
  ParentForm := FPageEditor.FDesignerForm;

  FBtnDBField := TRMToolbarButton.Create(Self);
  with FBtnDBField do
  begin
    ImageIndex := 27;
    Images := FPageEditor.FDesignerForm.ImageListStand;
    OnClick := FPageEditor.btnDBFieldClick;
    AddTo := Self;
  end;
  FBtnExpression := TRMToolbarButton.Create(Self);
  with FBtnExpression do
  begin
    ImageIndex := 21;
    Images := FPageEditor.FDesignerForm.ImageListStand;
    OnClick := FPageEditor.btnExpressionClick;
    AddTo := Self;
  end;
  FEdtMemo := TEdit.Create(Self);
  with FEdtMemo do
  begin
    Parent := Self;
    OnKeyUp := CellEditKeyUp;
    Width := 400;
    //    AddTo := Self;
  end;

//  EndUpdate;
  Localize;
end;

procedure TRMToolbarCellEdit.Localize;
begin
  RMSetStrProp(FBtnExpression, 'Hint', rmRes + 701);
  RMSetStrProp(FBtnDBField, 'Hint', rmRes + 62);

  RMSetStrProp(Self, 'Caption', rmRes + 866);
end;

procedure TRMToolbarCellEdit.CellEditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  FPageEditor.FDesignerForm.BeforeChange;
  FPageEditor.FGrid.Cells[FPageEditor.FGrid.Col, FPageEditor.FGrid.Row].View.Memo.Text := Self.FEdtMemo.Text;
  FPageEditor.FDesignerForm.AfterChange;
  THackGridEx(FPageEditor.FGrid).InvalidateCell(FPageEditor.FGrid.Col, FPageEditor.FGrid.Row);
end;

{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{ TRMToolbarBorder }

constructor TRMToolbarBorder.CreateAndDock(AOwner: TComponent; DockTo: TRMDock);
begin
  inherited Create(AOwner);
  Visible := False;
//  BeginUpdate;
  Dockedto := DockTo;
  FPageEditor := TRMGridReportPageEditor(AOwner);
  DockRow := 2;
  DockPos := 0;
  Name := 'GridReport_ToolbarBorder';
  ParentForm := FPageEditor.FDesignerForm;

  btnFrameLeft := TRMToolbarButton.Create(Self);
  with btnFrameLeft do
  begin
    AllowAllUp := True;
    GroupIndex := 2;
    ImageIndex := 11;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_SetFrameLeft;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
  end;
  btnFrameRight := TRMToolbarButton.Create(Self);
  with btnFrameRight do
  begin
    AllowAllUp := True;
    GroupIndex := 4;
    ImageIndex := 12;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_SetFrameRight;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
  end;
  btnFrameTop := TRMToolbarButton.Create(Self);
  with btnFrameTop do
  begin
    AllowAllUp := True;
    GroupIndex := 1;
    ImageIndex := 13;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_SetFrameTop;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
  end;
  btnFrameBottom := TRMToolbarButton.Create(Self);
  with btnFrameBottom do
  begin
    AllowAllUp := True;
    GroupIndex := 3;
    ImageIndex := 14;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_SetFrameBottom;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
  end;
  ToolbarSep971 := TRMToolbarSep.Create(Self);
  with ToolbarSep971 do
  begin
    AddTo := Self;
  end;

  btnNoBorder := TRMToolbarButton.Create(Self);
  with btnNoBorder do
  begin
    ImageIndex := 7;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_NoFrame;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
  end;
  btnSetBorder := TRMToolbarButton.Create(Self);
  with btnSetBorder do
  begin
    ImageIndex := 8;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_SetFrame;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
  end;
  btnTopBorder := TRMToolbarButton.Create(Self);
  with btnTopBorder do
  begin
    ImageIndex := 10;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_Frame1;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
  end;
  btnBottomBorder := TRMToolbarButton.Create(Self);
  with btnBottomBorder do
  begin
    ImageIndex := 9;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_Frame2;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
  end;
  ToolbarSep972 := TRMToolbarSep.Create(Self);
  with ToolbarSep972 do
  begin
    AddTo := Self;
  end;

  btnBias1Border := TRMToolbarButton.Create(Self);
  with btnBias1Border do
  begin
    AllowAllUp := True;
    GroupIndex := 40;
    ImageIndex := 15;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_Frame3;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
  end;
  btnBias2Border := TRMToolbarButton.Create(Self);
  with btnBias2Border do
  begin
    AllowAllUp := True;
    GroupIndex := 41;
    ImageIndex := 16;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_Frame4;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
  end;
  ToolbarSep973 := TRMToolbarSep.Create(Self);
  with ToolbarSep973 do
  begin
    AddTo := Self;
  end;

  btnDecWidth := TRMToolbarButton.Create(Self);
  with btnDecWidth do
  begin
    ImageIndex := 21;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_DecWidth;
    OnClick := FPageEditor.FDesignerForm.DoClick;
{$IFNDEF USE_TB2k}
    Repeating := True;
{$ENDIF}
    AddTo := Self;
  end;
  btnIncWidth := TRMToolbarButton.Create(Self);
  with btnIncWidth do
  begin
    ImageIndex := 19;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_IncWidth;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
{$IFNDEF USE_TB2k}
    Repeating := True;
{$ENDIF}
  end;
  btnDecHeight := TRMToolbarButton.Create(Self);
  with btnDecHeight do
  begin
    ImageIndex := 18;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_DecHeight;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
{$IFNDEF USE_TB2k}
    Repeating := True;
{$ENDIF}
  end;
  btnIncHeight := TRMToolbarButton.Create(Self);
  with btnIncHeight do
  begin
    ImageIndex := 20;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    Tag := TAG_IncHeight;
    OnClick := FPageEditor.FDesignerForm.DoClick;
    AddTo := Self;
{$IFNDEF USE_TB2k}
    Repeating := True;
{$ENDIF}
  end;
  ToolbarSep974 := TRMToolbarSep.Create(Self);
  with ToolbarSep974 do
  begin
    AddTo := Self;
  end;

  btnColumnMin := TRMToolbarButton.Create(Self);
  with btnColumnMin do
  begin
    ImageIndex := 0;
    Images := FPageEditor.FDesignerForm.ImageListSize;
    OnClick := FPageEditor.btnColumnMinClick;
    AddTo := Self;
  end;
  btnColumnMax := TRMToolbarButton.Create(Self);
  with btnColumnMax do
  begin
    ImageIndex := 1;
    Images := FPageEditor.FDesignerForm.ImageListSize;
    OnClick := FPageEditor.btnColumnMaxClick;
    AddTo := Self;
  end;
  btnRowMin := TRMToolbarButton.Create(Self);
  with btnRowMin do
  begin
    ImageIndex := 2;
    Images := FPageEditor.FDesignerForm.ImageListSize;
    OnClick := FPageEditor.btnRowMinClick;
    AddTo := Self;
  end;
  btnRowMax := TRMToolbarButton.Create(Self);
  with btnRowMax do
  begin
    ImageIndex := 3;
    Images := FPageEditor.FDesignerForm.ImageListSize;
    OnClick := FPageEditor.btnRowMaxClick;
    AddTo := Self;
  end;
  ToolbarSep975 := TRMToolbarSep.Create(Self);
  with ToolbarSep975 do
  begin
    AddTo := Self;
  end;

  cmbBands := TRMComboBox97.Create(Self);
  with cmbBands do
  begin
    parent := Self;
    Height := 21;
    Width := 180;
    DropDownCount := 12;
    OnClick := FPageEditor.cmbBandsClick;
    OnDropDown := FPageEditor.cmbBandsDropDown;
    Perform(CB_SETDROPPEDWIDTH, 240, 0);
  end;
{$IFDEF USE_TB2K}
  btnAddBand := TRMSubmenuItem.Create(Self);
{$ELSE}
  btnAddBand := TRMToolbarButton.Create(Self);
{$ENDIF}
  with btnAddBand do
  begin
    ImageIndex := 23;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    AddTo := Self;
    DropdownCombo := True;
{$IFNDEF USE_TB2k}
    DropdownMenu := FPageEditor.FPopupMenuBands;
{$ENDIF}
  end;
{$IFDEF USE_TB2K}
  btnDeleteBand := TRMSubmenuItem.Create(Self);
{$ELSE}
  btnDeleteBand := TRMToolbarButton.Create(Self);
{$ENDIF}
  with btnDeleteBand do
  begin
    ImageIndex := 22;
    Images := FPageEditor.FDesignerForm.ImageListFrame;
    AddTo := Self;
    DropdownCombo := True;
{$IFNDEF USE_TB2k}
    DropdownMenu := FPageEditor.FPopupMenuDeleteBands;
{$ENDIF}

    OnClick := FPageEditor.btnDeleteBandClick;
  end;

//  EndUpdate;
  Localize;
end;

procedure TRMToolbarBorder.Localize;
begin
  RMSetStrProp(Self, 'Caption', rmRes + 083);
  RMSetStrProp(btnFrameLeft, 'Hint', rmRes + 123);
  RMSetStrProp(btnFrameRight, 'Hint', rmRes + 125);
  RMSetStrProp(btnFrameTop, 'Hint', rmRes + 122);
  RMSetStrProp(btnFrameBottom, 'Hint', rmRes + 124);
  RMSetStrProp(btnNoBorder, 'Hint', rmRes + 127);
  RMSetStrProp(btnSetBorder, 'Hint', rmRes + 126);

  RMSetStrProp(btnTopBorder, 'Hint', rmRes + 234);
  RMSetStrProp(btnBottomBorder, 'Hint', rmRes + 235);
  RMSetStrProp(btnBias1Border, 'Hint', rmRes + 232);
  RMSetStrProp(btnBias2Border, 'Hint', rmRes + 233);

  RMSetStrProp(btnDecWidth, 'Hint', rmRes + 228);
  RMSetStrProp(btnIncWidth, 'Hint', rmRes + 229);
  RMSetStrProp(btnDecHeight, 'Hint', rmRes + 230);
  RMSetStrProp(btnIncHeight, 'Hint', rmRes + 231);

  RMSetStrProp(btnAddBand, 'Hint', rmRes + 134);
  RMSetStrProp(btnDeleteBand, 'Hint', rmRes + 227);

  RMSetStrProp(btnColumnMin, 'Hint', rmRes + 202);
  RMSetStrProp(btnColumnMax, 'Hint', rmRes + 203);
  RMSetStrProp(btnRowMin, 'Hint', rmRes + 204);
  RMSetStrProp(btnRowMax, 'Hint', rmRes + 205);
end;

{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{ TRMReportPageEditor }

constructor TRMGridReportPageEditor.CreateComp(aOwner: TComponent;
  aDesignerForm: TRMDesignerForm);

  procedure _CreateComps;
  begin
    Panel2 := TRMPanel.Create(Self);
    with Panel2 do
    begin
      Name := 'Panel2';
      Parent := TWinControl(aOwner);
      Caption := '';
      Align := alClient;
      BevelOuter := bvLowered;
      TabOrder := 0;
    end;

    FPopupMenuBands := TRMPopupMenu.Create(Self);
    with FPopupMenuBands do
    begin
      Name := 'PopupMenuBands';
      AutoHotkeys := maManual;
      OnPopup := PopupMenuBandsPopup;
    end;
    FPopupMenuDeleteBands := TRMPopupMenu.Create(Self);
    with FPopupMenuDeleteBands do
    begin
      AutoHotkeys := maManual;
      OnPopup := PopupMenuDeleteBandsPopup;
    end;

    // 主菜单
    ToolbarEdit := TRMToolbarEdit.CreateAndDock(Self, FDesignerForm.Dock971);

⌨️ 快捷键说明

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