就在对话框调出单文档打印时
做了很多事情当然
APP中
ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
View中
重载
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo);
消息映射
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
.rc中已经添加#include "l.chs\\afxprint.rc"
----
依然出现错误
Debug Assertion Failed!
打印错误 File:viewprnt.cpp
Line:161
打印预览:File:viewprev.cpp
Line:276
与此处类似http://topic.youkuaiyun.com/t/20010729/18/214532.html


最后就改了两个字母就解决了啊
BOOL CDlg2ViewView::OnPreparePrinting(CPrintInfo* pInfo)
{
// TODO: call DoPreparePrinting to invoke the Print dialog box
return CScrollView::DoPreparePrinting(pInfo);
}
最后一句一开始是这样的
return CScrollView::OnPreparePrinting(pInfo);
顺便在这里记个笔记
众所周知,MFC打印及打印预览可以自动调用OnDraw,但是其效果差强人意
如何在打印时不调用OnDraw呢?
其实只要在OnPrint中删除掉最后一行代码就好了啊
/* CScrollView::OnPrint(pDC, pInfo);*/