preview.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 109 行
CPP
109 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Preview.h"
#include "FinReport.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmPreview *frmPreview;
//---------------------------------------------------------------------------
__fastcall TfrmPreview::TfrmPreview(TComponent* Owner)
: TForm(Owner)
{
p = new TPPanel(this);
p->Parent = sb;
p->BevelOuter = bvNone;
CurrPage = 1;
TotalPage = 1;
}
//---------------------------------------------------------------------------
__fastcall TPPanel::TPPanel(TComponent * Owner)
: TPanel(Owner)
{
}
void __fastcall TPPanel::Paint(void)
{
TPanel::Paint();
frmFinReport->Formula->PrintPreview((unsigned int)this->Handle,
0, 0, this->Width, this->Height, frmPreview->CurrPage, &frmPreview->TotalPage);
}
void __fastcall TfrmPreview::FormDestroy(TObject *Sender)
{
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPreview::FormShow(TObject *Sender)
{
p->Left = 0;
p->Top = 0;
p->Height = sb->Height;
p->Width = p->Height * 210 / 297;
UpdatePosition();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPreview::BitBtn3Click(TObject *Sender)
{
p->Height -= 50;
p->Width = p->Height * 210 / 297;
UpdatePosition();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPreview::BitBtn4Click(TObject *Sender)
{
p->Height += 50;
p->Width = p->Height * 210 / 297;
UpdatePosition();
}
//---------------------------------------------------------------------------
void TfrmPreview::UpdatePosition()
{
if(p->Width < sb->ClientRect.Width())
p->Left = (sb->ClientRect.Width() - p->Width) / 2;
else
p->Left = 0;
if(p->Height < sb->ClientRect.Height())
p->Top = (sb->ClientRect.Height() - p->Height) / 2;
else
p->Top = 0;
}
void __fastcall TfrmPreview::FormResize(TObject *Sender)
{
UpdatePosition();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPreview::BitBtn6Click(TObject *Sender)
{
CurrPage = 1;
p->Repaint();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPreview::BitBtn1Click(TObject *Sender)
{
if(CurrPage > 1)
{
CurrPage--;
p->Repaint();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmPreview::BitBtn2Click(TObject *Sender)
{
if(CurrPage < TotalPage)
{
CurrPage++;
p->Repaint();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmPreview::BitBtn7Click(TObject *Sender)
{
CurrPage = TotalPage;
p->Repaint();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?