我在学习《深入浅出MFC》时遇到了一些问题,书是第二版的,简体中文,华中科技大学出版社
我用的环境是VC++6.0第12章 打印与预览
作者在第500页中提到:“显然,当【File/Pring...】被按下时,命令消息将流往CView::OnFilePrint去处理”,在第508页中又提到:“当使用者按下【File/Print】命令项后,Application Framework首先调用CMyView::OnPreparePrinting。”于是我想,应用程序应该是先调用CView::OnFilePrint,然后在其中调用CMyView::OnPreparePrinting,为了证实我的想法,我在这两个函数中各放置了一条TRACE宏输出提示信息,然后调试。但是奇怪的事情发生了,CMyView::OnPreparePrinting中的TRACE宏正常输出,CView::OnFilePrint中的却根本没有输出,难道系统没有调用CView::OnFilePrint么?
mfc打印
我用的环境是VC++6.0第12章 打印与预览
作者在第500页中提到:“显然,当【File/Pring...】被按下时,命令消息将流往CView::OnFilePrint去处理”,在第508页中又提到:“当使用者按下【File/Print】命令项后,Application Framework首先调用CMyView::OnPreparePrinting。”于是我想,应用程序应该是先调用CView::OnFilePrint,然后在其中调用CMyView::OnPreparePrinting,为了证实我的想法,我在这两个函数中各放置了一条TRACE宏输出提示信息,然后调试。但是奇怪的事情发生了,CMyView::OnPreparePrinting中的TRACE宏正常输出,CView::OnFilePrint中的却根本没有输出,难道系统没有调用CView::OnFilePrint么?
mfc打印
解决方案 »
- 让人憋却的问题
- LPCWSTR _bstr_t乱码
- 关于WININET的问题,有兴趣的进来看看!
- 怎样才能使CListCtrl中的图片间隙更小?
- 怎样让我的程序默认播放用户在IE网页超链点击的文件
- 将所有的分献出来,请问谁知道这本书哪有?Programming Server-Side Applications for Microsoft Windows 2000
- 用同一个WINDOW类创建两个WINDOW或用两个不同的WINDOW类分别创建一个WINDOW。在默认情况下,都是关闭其中一个WINDOW(即发送了WM_QUIT)另
- 关于DataGrid的问题
- 请教,打印时保存成PDF文件,坐标系和打印的时候有什么区别
- 请教大家字符跟ASCII码转换的方法??
- 有没有哪个字符串输出函数, 是可以输出文字的同时又返回文字宽度和高度的?
- 抓包软件中运用的 MFC列表控件 的问题,望各位路过的朋友多多帮忙谢谢了
----------------------------------------------CView::OnFilePrint里面应该不会有cmyview的代码的还有lz 多态好像没搞清楚
方法。
打印过程:
BEGIN_MESSAGE_MAP(CGraphView, CView)
//{{AFX_MSG_MAP(CGraphView)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
从这段代码来看,当【File/Pring...】被按下时,命令消息似乎是流往CView::OnFilePrint去处理了,所以我才会产生一开始的疑惑。不过现在我清楚了,按照CView::OnFilePrint的代码,框架的确是按你图中的顺序来执行打印操作的。