基于对话框打印程序--虚拟视图new

基于对话框打印程序--虚拟视图new

ID:19699475

大小:109.50 KB

页数:18页

时间:2018-10-05

基于对话框打印程序--虚拟视图new_第1页
基于对话框打印程序--虚拟视图new_第2页
基于对话框打印程序--虚拟视图new_第3页
基于对话框打印程序--虚拟视图new_第4页
基于对话框打印程序--虚拟视图new_第5页
资源描述:

《基于对话框打印程序--虚拟视图new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于对话框打印程序---采取虚拟的文档视图结构方法首先生成基于对话框的MFC程序,类名为CTestDlg;往对话框上拖动2个按钮,一个事件为打印,一个为预览;voidCTestDlg::OnBtnPrint(){CPrintFrmWnd*WooPrintFrmWnd=newCPrintFrmWnd(1);}voidCTestDlg::OnBtnView(){CPrintFrmWnd*WooPrintFrmWnd=newCPrintFrmWnd(0);}然后按照以下步骤操作步骤1,从CView类派生新类CPrintView;该类主要实现预览等需要重载

2、函数OnPrepareDCOnPreparePrintingOnPrint等等#defineHEADER_TOP300//头部信息距离页面最顶端的距离classCPrintView:publicCView{protected:CPrintView();//protectedconstructorusedbydynamiccreationDECLARE_DYNCREATE(CPrintView)//AttributesUINTm_nPageNums;CFontm_FontHeader;//头部内容字体CFontm_FontMain;//主体内容字体C

3、Fontm_FontFooter;//尾部内容字体CSizem_szView;//预览窗口大小UINTm_uHeadSmpGap;//头部信息和样本信息垂直方向间距UINTm_uMainLeftGap;//除头部内容外其他内容距左边的距离,也是距离右边的距离PRINTINFOm_printInfo[2];//存储需要打印的页内容public:voidOnFilePrintPreview();voidInitPrintInfo();voidPrintContent(CDC*pDC,UINTnInex);//Operationspublic:virtu

4、alvoidOnPrepareDC(CDC*pDC,CPrintInfo*pInfo);//Overrides//ClassWizardgeneratedvirtualfunctionoverrides//{{AFX_VIRTUAL(CPrintView)protected:virtualBOOLOnPreparePrinting(CPrintInfo*pInfo);virtualvoidOnDraw(CDC*pDC);//overriddentodrawthisviewvirtualvoidOnPrint(CDC*pDC,CPrintInfo*p

5、Info);//}}AFX_VIRTUAL//Implementationprotected:virtual~CPrintView();#ifdef_DEBUGvirtualvoidAssertValid()const;virtualvoidDump(CDumpContext&dc)const;#endif//Generatedmessagemapfunctions//{{AFX_MSG(CPrintView)//}}AFX_MSGDECLARE_MESSAGE_MAP()};实现如下:#include"stdafx.h"#include"test

6、.h"#include"PrintView.h"#include"PrintPreviewView.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CPrintView//使类支持RUNTIMEIMPLEMENT_DYNCREATE(CPrintView,CView)//*

7、**************************************************//Functionname:_AfxMyPreviewCloseProc//Description:很关键,删除打印类资源//***************************************************/BOOLCALLBACK_AfxMyPreviewCloseProc(CFrameWnd*pFrameWnd){ASSERT_VALID(pFrameWnd);CPrintPreviewView*pView=(CPrint

8、PreviewView*)pFrameWnd->GetDlgItem(AFX_IDW_PANE_FIRST);ASSERT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。