MFC 基于多文档的打印和打印预览功能的实现

来源:互联网 发布:snapchat网络无法连接 编辑:程序博客网 时间:2024/06/05 04:36

一、基础知识

1 网上有很多的关于打印的程序,一定要看清楚,是基于对话框dialog的打印功能,还是基于文档的打印功能。

   如果分不清基于对话框和文档的区别,建议新建一个单文档、多文档和对话框的工程,看看里面的具体的文档的区别,就可以了。

2 我做的是基于多文档的打印预览和打印功能的实现。

   基于文档的打印和打印预览在创建工程的时候,一般默认会自动添加打印和打印预览的程序。如下图。


勾选打印和打印预览之后,就会在代码中自动添加相关的代码。


也就是说,打印和打印预览的实现的大体框架,已经给你创建好了,只需要重写几个虚函数,如:OnPreparePrinting,OnBeginPrinting,OnEndPrinting,OnPrint等。就可以实现打印和打印预览功能。

二、实现打印区域

具体的实现打印区域的代码,需要根据自身需要解决的问题具体分析。这里就不具体介绍。


三、遇到的问题

我的工程中的界面是利用BCG库实现的。在加载打印预览工具条的时候,总是显示英文。当时我已经设置了语言为中文,不知道为什么打印预览上方的工具条总是显示英文。


经过调查,是BCG库的问题,BCG的中文库,没有把英文转换成中文,所以需要自己手动改一下。

BCG\BCGCBPro\L.chs\BCGControlBar.rc在这里更改就可以,重写编译,把对应的dll和lib替换即可。


0 0
原创粉丝点击