VC 单文档FormView视图增加打印预览

1修改my.rc文件二处

3 TEXTINCLUDE
BEGIN
"#define _AFX_NO_OLE_RESOURCES\r\n"
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
"\r\n"
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\r\n"
"LANGUAGE 4, 2\r\n"
"#include ""res\\my.rc2"" // 非 Microsoft Visual C++ 编辑的资源\r\n"
"#include ""l.CHS\\afxres.rc"" // 标准组件\r\n"
"#include ""l.CHS\\afxprint.rc"" // 打印/打印预览资源\r\n"
"#endif\r\n"
"\0"
END

 

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
LANGUAGE 4, 2
#include "res\my.rc2" // 非 Microsoft Visual C++ 编辑的资源
#include "l.CHS\afxres.rc" // 标准组件
#include "l.CHS\afxprint.rc" // 打印/打印预览资源
#endif

2CmyView增加几个相关虚函数

virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnEndPrintPreview(CDC* pDC, CPrintInfo* pInfo, POINT point, CPreviewView* pView);
virtual void OnPrepareDC(CDC* pDC, CPrintInfo* pInfo = NULL);
virtual void OnDraw(CDC* /*pDC*/);
virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);

3修改OnPreparePrinting函数

BOOL CmyView::OnPreparePrinting(CPrintInfo* pInfo)
{

// TODO: 调用 DoPreparePrinting 以调用“打印”对话框

//return CFormView::OnPreparePrinting(pInfo); //注释掉
return DoPreparePrinting(pInfo);
}

posted @ 2021-02-25 17:16  webccaa  阅读(108)  评论(0编辑  收藏  举报