📄 ydpreview.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "YDpreview.h"
#include "YDrzbb.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFPreview *FPreview;
//---------------------------------------------------------------------------
__fastcall TFPreview::TFPreview(TComponent* Owner)
: TForm(Owner)
{
}
//-------------------------------------------------------------------------
void TFPreview::RefreshPanel()
{ //更新提示信息
Panel2->Caption="第"+IntToStr(FPreview->QRPreview1->PageNumber)+"页"+" 共"+IntToStr(Fpczrz->QuickRep1->PageNumber)+"页";
}
void __fastcall TFPreview::QRPreview1ProgressUpdate(TObject *Sender,
int Progress)
{
if (cls)
{
Close();
}
ProgressBar1->Position=Progress;
RefreshPanel();
}
//---------------------------------------------------------------------------
void __fastcall TFPreview::ComboBox1Change(TObject *Sender)
{
QRPreview1->Zoom=StrToInt(ComboBox1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TFPreview::SpeedButton7Click(TObject *Sender)
{
cls=true;
Fpczrz->QuickRep1->Prepare();
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFPreview::FormCreate(TObject *Sender)
{
cls=false;
}
//---------------------------------------------------------------------------
void __fastcall TFPreview::SpeedButton1Click(TObject *Sender)
{
Fpczrz=new TFpczrz(Application);
Fpczrz->QuickRep1->Print();
delete Fpczrz;
}
//---------------------------------------------------------------------------
void __fastcall TFPreview::SpeedButton3Click(TObject *Sender)
{
if(QRPreview1->PageNumber>1)
QRPreview1->PageNumber=QRPreview1->PageNumber-1;
RefreshPanel();
}
//---------------------------------------------------------------------------
void __fastcall TFPreview::SpeedButton4Click(TObject *Sender)
{
if(QRPreview1->PageNumber<Fpczrz->QuickRep1->PageNumber)
QRPreview1->PageNumber++;
RefreshPanel();
}
//---------------------------------------------------------------------------
void __fastcall TFPreview::SpeedButton5Click(TObject *Sender)
{
// Fpczrz->QuickRep1->ExportToFilter(
}
//---------------------------------------------------------------------------
void __fastcall TFPreview::SpeedButton2Click(TObject *Sender)
{
DEVMODE *pDev;
LPPAGESETUPDLG mylp=new PAGESETUPDLG;
memset((void *)mylp,0,sizeof(PAGESETUPDLG));
mylp->lStructSize=sizeof(PAGESETUPDLG);
mylp->hwndOwner=this->Handle;
mylp->Flags=PSD_RETURNDEFAULT;
PageSetupDlg(mylp);
if (mylp->hDevMode!=NULL)
{
pDev=(DEVMODE *)GlobalLock(mylp->hDevMode);
pDev->dmPaperSize=OldPaperSize;
pDev->dmOrientation=OldOrientation;
mylp->rtMargin.left=OldLeft;
mylp->rtMargin.right=OldRight;
mylp->rtMargin.top=OldTop;
mylp->rtMargin.bottom=OldBottom;
GlobalUnlock(mylp->hDevMode);
mylp->Flags=PSD_MARGINS|
PSD_INHUNDREDTHSOFMILLIMETERS;
if (PageSetupDlg(mylp))
{
pDev=(DEVMODE *)GlobalLock(mylp->hDevMode);
OldPaperSize=pDev->dmPaperSize;
// ShowMessage(IntToStr(OldPaperSize));
if(OldPaperSize>28)OldPaperSize=9;//A4
OldOrientation=pDev->dmOrientation;
OldLeft =mylp->rtMargin.left;
OldRight =mylp->rtMargin.right;
OldTop =mylp->rtMargin.top;
OldBottom =mylp->rtMargin.bottom;
Fpczrz->QuickRep1->Page->Orientation-1;
Fpczrz->QuickRep1->Page->PaperSize=OldPaperSize;
Fpczrz->QuickRep1->Page->LeftMargin =OldLeft/100;
Fpczrz->QuickRep1->Page->RightMargin =OldRight/100;
Fpczrz->QuickRep1->Page->TopMargin =OldTop/100;
Fpczrz->QuickRep1->Page->BottomMargin=OldBottom/100;
GlobalUnlock(mylp->hDevMode);
}
GlobalFree(mylp->hDevMode);
}
delete mylp;
QRPreview1->PageNumber=1;
Fpczrz->QuickRep1->Prepare();
Fpczrz->QuickRep1->Preview();
}
//---------------------------------------------------------------------------
void __fastcall TFPreview::FormActivate(TObject *Sender)
{
if (!cls)
{
OldPaperSize=Fpczrz->QuickRep1->Page->PaperSize;
OldOrientation=Fpczrz->QuickRep1->Page->Orientation+1;
OldLeft=Fpczrz->QuickRep1->Page->LeftMargin*100;
OldRight=Fpczrz->QuickRep1->Page->RightMargin*100;
OldTop=Fpczrz->QuickRep1->Page->TopMargin*100;
OldBottom=Fpczrz->QuickRep1->Page->BottomMargin*100;
Fpczrz->QuickRep1->Prepare();
RefreshPanel();
Fpczrz->QuickRep1->Preview();
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -