新建View類MFC列印報錯

2021-05-28 02:48:10 字數 1108 閱讀 2422

就在對話方塊調出單文件列印時

做了很多事情當然

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

與此處類似

依舊報錯

bool cdlg2viewview::onprepareprinting(cprintinfo* pinfo) 

最後一句一開始是這樣的

return cscrollview::onprepareprinting(pinfo);
順便在這裡記個筆記

眾所周知,mfc列印及列印預覽可以自動呼叫ondraw,但是其效果差強人意

如何在列印時不呼叫ondraw呢?

其實只要在onprint中刪除掉最後一行**就好了啊

/*	cscrollview::onprint(pdc, pinfo);*/

MFC中Doc類獲取View類的方法

從doc中獲取view中的函式,需要自己寫一些 來進行獲取view的指標。主要是通過一些成員函式進行操作 virtual position getfirstviewposition const virtual cview getnextview position pos const 利用這些函式,在...

MFC中Doc類獲取View類的方法(SDI)

從view類中獲取doc的方法如下 cyourdoc pdoc getdocument 這個函式已經寫好,所以無需自己新增,使用時直接利用pdoc即可。若反過來,從doc中獲取view中的函式,就需要自己寫一些 來進行獲取view的指標。主要是通過一些成員函式進行操作 virtual positio...

mfc中dialog中嵌入view

在dialog oninitdialog中加入 cwnd pframewnd this ccreatecontext pcontext pcontext.m pcurrentdoc 0 new ctest doc pcontext.m pnewviewclass runtime class c2 c...