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);
}