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

📄 preview.cpp

📁 这是本人两年前兼职为某个公司做的石油钻进设计软件
💻 CPP
字号:
// Preview.cpp : implementation file
//

#include "stdafx.h"
#include "cvenus.h"
//#include "SjsrForm.h"
#include "Preview.h"
#include "stdio.h"
#include "Printsetup.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPreview dialog

CPreview::CPreview(CSpreadSheet* pSJSR, CWnd* pParent /*=NULL*/)
	: CDialog(CPreview::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPreview)
	//}}AFX_DATA_INIT
	m_pSJSR = pSJSR;
	m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON_PREVIEW);
}


void CPreview::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPreview)
	DDX_Control(pDX, IDC_COMBO1, m_zoom);
	DDX_Control(pDX, IDC_PVCTRL1, m_printview);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPreview, CDialog)
	//{{AFX_MSG_MAP(CPreview)
	ON_BN_CLICKED(IDC_PRIOR, OnPrior)
	ON_BN_CLICKED(IDC_NEXT, OnNext)
	ON_BN_CLICKED(IDC_ZOOM, OnZoom)
	ON_BN_CLICKED(IDC_PRINTSETUP, OnPrintsetup)
	ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
	ON_BN_CLICKED(IDC_PRINT, OnPrint)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPreview message handlers

BOOL CPreview::OnInitDialog() 
{
	CDialog::OnInitDialog(); 
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	m_pSJSR->SetPrintMarginLeft(2*567);
    m_pSJSR->SetPrintMarginRight(2*567);
	m_pSJSR->SetPrintMarginTop(2*567);
	m_pSJSR->SetPrintMarginBottom(2*567);	
	m_zoom.InsertString(0,"200%");
    m_zoom.InsertString(1,"150%");
	m_zoom.InsertString(2,"100%");
	m_zoom.InsertString(3,"75%");
	m_zoom.InsertString(4,"50%");
	m_zoom.InsertString(5,"25%");
	m_zoom.InsertString(6,"10%");
    m_zoom.InsertString(7,"页宽");
	m_zoom.InsertString(8,"整页");
	m_zoom.InsertString(9,"双页");
    m_zoom.SelectString(1,"整页");
    m_printview.SetHWndSpread(m_pSJSR->GetHWnd());//与要打印表格连接

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}


BEGIN_EVENTSINK_MAP(CPreview, CDialog)
    //{{AFX_EVENTSINK_MAP(CPreview)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()


void CPreview::OnPrior() 
{
     if(m_printview.GetPageCurrent()>1)
	 {
       m_printview.SetPageCurrent(m_printview.GetPageCurrent()-m_printview.GetPagesPerScreen()); 
       GetDlgItem(IDC_NEXT)->EnableWindow(TRUE);
       GetDlgItem(IDC_PRIOR)->EnableWindow(TRUE);
	 }
     if(m_printview.GetPageCurrent()==1)
	 {
       GetDlgItem(IDC_PRIOR)->EnableWindow(FALSE);
	 }		
}

void CPreview::OnNext() 
{
    if(m_printview.GetPageCurrent()<m_pSJSR->GetPrintPageCount())
	 {
	    m_printview.SetPageCurrent(m_printview.GetPageCurrent()+m_printview.GetPagesPerScreen()); 
		GetDlgItem(IDC_NEXT)->EnableWindow(TRUE);
        GetDlgItem(IDC_PRIOR)->EnableWindow(TRUE);
	 }	
     if( m_printview.GetPageCurrent()==m_pSJSR->GetPrintPageCount())
	 {
		GetDlgItem(IDC_NEXT)->EnableWindow(FALSE);
	 }	
}

void CPreview::OnZoom() 
{
     m_printview.SetZoomState(3);		
}

void CPreview::OnPrintsetup() 
{
    CPrintsetup dlg(m_pSJSR, &m_printview);
	dlg.DoModal();
}



void CPreview::OnSelchangeCombo1() 
{
   int size=m_zoom.GetCurSel();
   switch(size)
   {
   case 0:
	   m_printview.SetPageViewType(2);
	   m_printview.SetPageViewPercentage(200);
	   break;
   case 1:
	   m_printview.SetPageViewType(2);
	   m_printview.SetPageViewPercentage(150);
	   break;
   case 2:
	   m_printview.SetPageViewType(2);
	   m_printview.SetPageViewPercentage(100);
	   break;
   case 3:
	   m_printview.SetPageViewType(2);
	   m_printview.SetPageViewPercentage(75);
	   break;
   case 4:
	   m_printview.SetPageViewType(2);
	   m_printview.SetPageViewPercentage(50);
	   break;
   case 5:
	   m_printview.SetPageViewType(2);
	   m_printview.SetPageViewPercentage(25);
	   break;
   case 6:
	   m_printview.SetPageViewType(2);
	   m_printview.SetPageViewPercentage(10);
	   break;
   case 7:
	   m_printview.SetPageViewType(3);
	   break;
   case 8:
	   m_printview.SetPageViewType(0);
	   break;
   case 9:
	   m_printview.SetPageViewType(5);
       m_printview.SetPageMultiCntH(2);
       m_printview.SetPageMultiCntV(1);
	   break;
   }		
    m_printview.SetHWndSpread(m_pSJSR->GetHWnd());//与要打印表格连接
}

void CPreview::OnPrint() 
{
    m_pSJSR->SetAction(13);	
}

⌨️ 快捷键说明

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