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

📄 rm_prvdlg.pas

📁 进销存·完整的·有数据库的·非常完整·只得参考
💻 PAS
📖 第 1 页 / 共 2 页
字号:
begin
  FViewer.AutoScale := btnAutoScale.Down;
  LastAutoScale := btnAutoScale.Down;
end;

procedure TRMPreviewForm.BtnExitClick(Sender: TObject);
begin
  if FDoc = nil then
  	Close
  else
  begin
	  if TRMReport(FDoc).ModalPreview and (not TRMReport(FDoc).MDIPreview) then
  	  ModalResult := mrOk
	  else
  	  Close;
  end;    
end;

procedure TRMPreviewForm.itmPrintCurrentPageClick(Sender: TObject);
begin
  FViewer.PrintCurrentPage;
end;

procedure TRMPreviewForm.FormShow(Sender: TObject);
begin
  if FormStyle <> fsMDIChild then
  begin
    RMRestoreFormPosition(Self);
    RMRestoreToolbars([ToolbarStand]);
  end;
  ToolbarStand.Visible := True;
end;

procedure TRMPreviewForm.OnStatusChange(Sender: TObject);
begin
  case FViewer.ZoomMode of
    mdPageWidth: btnPageWidth.Down := TRUE;
    mdOnePage: btnOnePage.Down := TRUE;
  else
    if Round(FViewer.Zoom) = 100 then
      btn100.Down := TRUE
    else
    begin
      btn100.Down := FALSE;
      btnPageWidth.Down := FALSE;
      btnOnePage.Down := FALSE;
    end;
  end;

  if btnPageWidth.Down then
    cmbZoom.ItemIndex := 7
  else if btnOnePage.Down then
    cmbZoom.ItemIndex := 8
  else if btn100.Down then
    cmbZoom.ItemIndex := 2
  else
    cmbZoom.ItemIndex := cmbZoom.Items.IndexOf(IntToStr(Round(FViewer.Zoom)) + '%');
end;

procedure TRMPreviewForm.OnPageChanged(Sender: TObject);
begin
  edtPageNo.Text := IntToStr(FViewer.CurPage);
end;

procedure TRMPreviewForm.btnDesignClick(Sender: TObject);
begin
  FViewer.DesignReport;
end;

procedure TRMPreviewForm.FormCreate(Sender: TObject);

  procedure _CreateToolbar;
  begin
    Dock971 := TRMDock.Create(Self);
    with Dock971 do
    begin
      Parent := Self;
      FixAlign := True;
      Name := 'Dock971';
    end;
    Dock972 := TRMDock.Create(Self);
    with Dock972 do
    begin
      Parent := Self;
      FixAlign := True;
      Position := dpBottom;
      Name := 'Dock972';
    end;

    ToolbarStand := TRMToolbar.Create(Dock971);
    with ToolbarStand do
    begin
      Parent := Dock971;
      CloseButton := False;
      DockPos := 0;
      Name := 'ToolbarPreviewStand';
    end;

    ToolbarStand.BeginUpdate;
    cmbZoom := TComboBox.Create(ToolbarStand);
    with cmbZoom do
    begin
      Parent := ToolbarStand;
      DropDownCount := 12;
      Width := 84;
      Items.Add('200%');
      Items.Add('150%');
      Items.Add('100%');
      Items.Add('75%');
      Items.Add('50%');
      Items.Add('25%');
      Items.Add('10%');
      Items.Add(RMLoadStr(rmRes + 1857));
      Items.Add(RMLoadStr(rmRes + 1858));
      Items.Add(RMLoadStr(rmRes + 1859));
      OnClick := CmbZoomClick;
      OnKeyPress := CmbZoomKeyPress;
    end;
    tbLine := TRMToolbarSep.Create(ToolbarStand);
    with tbLine do
    begin
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(tbLine);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;

    btnAutoScale := TRMToolbarButton.Create(ToolbarStand);
    with btnAutoScale do
    begin
      AllowAllUp := True;
      GroupIndex := 1;
      Down := True;
      ImageIndex := 0;
      Images := ImageList1;
      OnClick := btnAutoScaleClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnAutoScale);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    btnOnePage := TRMToolbarButton.Create(ToolbarStand);
    with btnOnePage do
    begin
      AllowAllUp := True;
      GroupIndex := 2;
      ImageIndex := 1;
      Images := ImageList1;
      OnClick := btnOnePageClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnOnePage);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    btn100 := TRMToolbarButton.Create(ToolbarStand);
    with btn100 do
    begin
      Hint := '100%';
      AllowAllUp := True;
      GroupIndex := 2;
      ImageIndex := 2;
      Images := ImageList1;
      OnClick := btn100Click;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btn100);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    btnPageWidth := TRMToolbarButton.Create(ToolbarStand);
    with btnPageWidth do
    begin
      AllowAllUp := True;
      GroupIndex := 2;
      ImageIndex := 3;
      Images := ImageList1;
      OnClick := btnPageWidthClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnPageWidth);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    ToolbarSep974 := TRMToolbarSep.Create(ToolbarStand);
    with ToolbarSep974 do
    begin
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(ToolbarSep974);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;

    btnTop := TRMToolbarButton.Create(ToolbarStand);
    with btnTop do
    begin
      ImageIndex := 4;
      Images := ImageList1;
      OnClick := btnTopClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnTop);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    btnPrev := TRMToolbarButton.Create(ToolbarStand);
    with btnPrev do
    begin
      ImageIndex := 5;
      Images := ImageList1;
      OnClick := btnPrevClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnPrev);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    edtPageNo := TRMEdit.Create(ToolbarStand);
    with edtPageNo do
    begin
      Width := 40;
      OnKeyPress := edtPageNoKeyPress;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(edtPageNo);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    btnNext := TRMToolbarButton.Create(ToolbarStand);
    with btnNext do
    begin
      ImageIndex := 6;
      Images := ImageList1;
      OnClick := btnNextClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnNext);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    btnLast := TRMToolbarButton.Create(ToolbarStand);
    with btnLast do
    begin
      ImageIndex := 7;
      Images := ImageList1;
      OnClick := btnLastClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnLast);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    ToolbarSep972 := TRMToolbarSep.Create(ToolbarStand);
    with ToolbarSep972 do
    begin
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(ToolbarSep972);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;

    btnFind := TRMToolbarButton.Create(ToolbarStand);
    with btnFind do
    begin
      ImageIndex := 8;
      Images := ImageList1;
      OnClick := btnFindClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnFind);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    ToolbarSep975 := TRMToolbarSep.Create(ToolbarStand);
    with ToolbarSep975 do
    begin
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(ToolbarSep975);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;

    btnOpen := TRMToolbarButton.Create(ToolbarStand);
    with btnOpen do
    begin
      ImageIndex := 9;
      Images := ImageList1;
      OnClick := btnOpenClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnOpen);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    btnSave := TRMToolbarButton.Create(ToolbarStand);
    with btnSave do
    begin
      ImageIndex := 10;
      Images := ImageList1;
      OnClick := btnSaveClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnSave);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    btnSaveToXLS := TRMToolbarButton.Create(ToolbarStand);
    with btnSaveToXLS do
    begin
      ImageIndex := 15;
      Images := ImageList1;
      OnClick := btnSaveToXLSClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnSaveToXLS);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    btnPrint := TRMToolbarButton.Create(ToolbarStand);
    with btnPrint do
    begin
      ImageIndex := 11;
      Images := ImageList1;
      OnClick := btnPrintClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnPrint);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    btnPageSetup := TRMToolbarButton.Create(ToolbarStand);
    with btnPageSetup do
    begin
      ImageIndex := 12;
      Images := ImageList1;
      OnClick := btnPageSetupClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnPageSetup);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    ToolbarSep973 := TRMToolbarSep.Create(ToolbarStand);
    with ToolbarSep973 do
    begin
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(ToolbarSep973);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;

    btnDesign := TRMToolbarButton.Create(ToolbarStand);
    with btnDesign do
    begin
      ImageIndex := 13;
      Images := ImageList1;
      OnClick := btnDesignClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnDesign);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    ToolbarSep971 := TRMToolbarSep.Create(ToolbarStand);
    with ToolbarSep971 do
    begin
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(ToolbarSep971);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;

    btnExit := TRMToolbarButton.Create(ToolbarStand);
    with btnExit do
    begin
      ImageIndex := 14;
      Images := ImageList1;
      OnClick := BtnExitClick;
{$IFDEF USE_TB2k}
      ToolbarStand.Items.Add(btnExit);
{$ELSE}
      Parent := ToolbarStand;
{$ENDIF}
    end;
    ToolbarStand.EndUpdate;
  end;

begin
  _CreateToolbar;
  FViewer := TRMPreview.Create(Self);
  with FViewer do
  begin
    Parent := Self;
    Align := alClient;
    PopupMenu := ProcMenu;
    AutoScale := False;
    ParentForm := Self;
  end;
  FViewer.OnStatusChange := OnStatusChange;
  FViewer.OnPageChanged := OnPageChanged;

  Localize;
end;

procedure TRMPreviewForm.CmbZoomKeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = #13) then
  begin
    try
      FViewer.Zoom := StrToIntDef(cmbZoom.Text, 100);
    except
    end;
  end;
end;

procedure TRMPreviewForm.CmbZoomClick(Sender: TObject);
begin
  case cmbZoom.ItemIndex of
    0: FViewer.Zoom := 200;
    1: FViewer.Zoom := 150;
    2: FViewer.Zoom := 100;
    3: FViewer.Zoom := 75;
    4: FViewer.Zoom := 50;
    5: FViewer.Zoom := 25;
    6: FViewer.Zoom := 10;
    7: FViewer.PageWidth;
    8: FViewer.OnePage;
    9: FViewer.TwoPages;
  end;
end;

procedure TRMPreviewForm.Append1Click(Sender: TObject);
begin
  FViewer.AddPage;
  FViewer.Last;
end;

procedure TRMPreviewForm.InsertBefore1Click(Sender: TObject);
begin
  FViewer.InsertPageBefore;
end;

procedure TRMPreviewForm.InsertAfter1Click(Sender: TObject);
begin
  FViewer.InsertPageAfter;
  FViewer.CurPage := FViewer.CurPage + 1;
end;

procedure TRMPreviewForm.edtPageNoKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    try
      FViewer.CurPage := StrToInt(edtPageNo.Text);
    except;
      edtPageNo.Text := IntToStr(FViewer.CurPage);
    end;
  end;
end;

procedure TRMPreviewForm.btnSaveToXLSClick(Sender: TObject);  // 保存到xls文件
begin
  FXLSExport := TRMXLSExport.Create(nil);
  try
    FXLSExport.ShowDialog := True;
    if FXLSExport.ShowModal = mrOK then
    begin
      if FXLSExport.ExportPages = 'CURPAGE' then
        FXLSExport.ExportPages := IntToStr(FViewer.CurPage);
      FXLSExport.ShowDialog := False;
      FViewer.ExportToFile(FXLSExport, FXLSExport.ExportFileName);
    end;
  finally
    FXLSExport.Free;
  end;
end;

end.

⌨️ 快捷键说明

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