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

📄 previewwin.cpp

📁 自定义的报表
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "PreviewWin.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CNReport"
#pragma resource "*.dfm"
TfrmPreviewWin *frmPreviewWin;
//---------------------------------------------------------------------------
__fastcall TfrmPreviewWin::TfrmPreviewWin(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmPreviewWin::tbCloseClick(TObject *Sender)
{
        Close();        
}
//---------------------------------------------------------------------------

void __fastcall TfrmPreviewWin::tbtScaleClick(TObject *Sender)
{
        TPoint p;

        p = tbtScale->ClientToScreen(Point(0,tbtScale->Height));

        tbtScale->DropdownMenu->Popup(p.x,p.y);

}
//---------------------------------------------------------------------------

void __fastcall TfrmPreviewWin::tbtPrintClick(TObject *Sender)
{
        tbStop->Enabled = True;
        ((TCNReportRunTime *)Owner)->Print();

}
//---------------------------------------------------------------------------

void __fastcall TfrmPreviewWin::tbStopClick(TObject *Sender)
{
        tbStop->Enabled = !((TCNReportRunTime *)Owner)->Cancelprint();

}
//---------------------------------------------------------------------------

void __fastcall TfrmPreviewWin::tbtPrevPageClick(TObject *Sender)
{
        int nPrevScale;
        AnsiString strFileDir;

        nPrevScale = CNReportControl1->ReportScale;

        if (CurrentPage <= 1 ) return;

        CurrentPage --;

        if (CurrentPage <= 1 )
        {
                tbtPrevPage->Enabled = False;
        }
        tbtNextPage->Enabled = True;
      //  PageLabel.Caption := IntToStr(PageCount) + ' 页中的第 ' + IntToStr(CurrentPage) + ' 页 ';

        LockWindowUpdate(Handle);

        strFileDir = ExtractFileDir(Application->ExeName); // + '\';
        if (strFileDir[strFileDir.Length()] != '\\' ) strFileDir = strFileDir + "\\";

        if (FileExists(strFileDir + "Temp\\" + IntToStr(CurrentPage) + ".tmp") )
                CNReportControl1->LoadFromFile(strFileDir + "Temp\\" + IntToStr(CurrentPage) + ".tmp");

        CNReportControl1->ReportScale = nPrevScale;
        CNReportControl1->Enabled = EnableEdit;
        LockWindowUpdate(0);
}
//---------------------------------------------------------------------------

void __fastcall TfrmPreviewWin::tbtNextPageClick(TObject *Sender)
{
        int nPrevScale;
        AnsiString strFileDir;

        nPrevScale = CNReportControl1->ReportScale;

        if (CurrentPage >= PageCount ) return;

        CurrentPage ++;

        if (CurrentPage >= PageCount )
        {
                tbtNextPage->Enabled = False;
        }
        tbtPrevPage->Enabled = True;
      //  PageLabel.Caption := IntToStr(PageCount) + ' 页中的第 ' + IntToStr(CurrentPage) + ' 页 ';

        LockWindowUpdate(Handle);

        strFileDir = ExtractFileDir(Application->ExeName); // + '\';
        if (strFileDir[strFileDir.Length()] != '\\' ) strFileDir = strFileDir + "\\";

        if (FileExists(strFileDir + "Temp\\" + IntToStr(CurrentPage) + ".tmp") )
                CNReportControl1->LoadFromFile(strFileDir + "Temp\\" + IntToStr(CurrentPage) + ".tmp");

        CNReportControl1->ReportScale = nPrevScale;
        CNReportControl1->Enabled = EnableEdit;
        LockWindowUpdate(0);
}
//---------------------------------------------------------------------------


void __fastcall TfrmPreviewWin::SetPreviewMode(bool bPreview)
{
        //TODO: Add your source code here
        CNReportControl1->IsPreview = bPreview;
        CNReportControl1->Refresh();

}

void __fastcall TfrmPreviewWin::PrintFile(AnsiString strFileName)
{
        //TODO: Add your source code here
        CNReportControl1->LoadFromFile(strFileName);
        CNReportControl1->PrintIt();

}
void __fastcall TfrmPreviewWin::FormCreate(TObject *Sender)
{
        AnsiString strFileDir;

        PageCount = 1;
        CurrentPage = 1;

//        PageLabel.Caption := IntToStr(PageCount) + ' 页中的第 ' + IntToStr(CurrentPage) + ' 页 ';

        strFileDir = ExtractFileDir(Application->ExeName); // + '\';
        if (strFileDir[strFileDir.Length()] != '\\' ) strFileDir = strFileDir + "\\";

        if (FileExists(strFileDir + "Temp\\" + IntToStr(CurrentPage) + ".tmp") )
                CNReportControl1->LoadFromFile(strFileDir + "Temp\\1.tmp");
}
//---------------------------------------------------------------------------

void __fastcall TfrmPreviewWin::mni500Click(TObject *Sender)
{
        TMenuItem *p = (TMenuItem *)Sender;
        ShowWindow(CNReportControl1->Handle, SW_HIDE);
        CNReportControl1->ReportScale = p->Tag;
        ScrollBox1Resize(this);
        ShowWindow(CNReportControl1->Handle, SW_SHOW);
}
//---------------------------------------------------------------------------

void __fastcall TfrmPreviewWin::ScrollBox1Resize(TObject *Sender)
{
        if (ClientRect.Right > (CNReportControl1->Width + 20) )
                CNReportControl1->Left = (ClientRect.Right - CNReportControl1->Width)/2;
        else
                CNReportControl1->Left = 10;
}
//---------------------------------------------------------------------------

void __fastcall TfrmPreviewWin::tbtPrinterSetupDialogClick(TObject *Sender)
{
        PrintDialog1->Execute();
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

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