首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推荐一种生成打印预览和打印的解决方案。

推荐一种生成打印预览和打印的解决方案。
EN

Stack Overflow用户
提问于 2014-05-31 22:54:18
回答 1查看 1.5K关注 0票数 1

导言和相关资料:

我正在维护一个旧的应用程序,我需要实现基于从数据库计算的数据生成报告的特性。用户还必须有打印文件的附加选项(用户必须能够选择打印机,并且必须能够看到打印预览)。

为了提高我获得满意答案的机会,请允许我用一个小小的“例子”来进一步澄清问题:

  • 用户按下->应用程序计算数据的按钮;//完成
  • 应用程序创建文件并用结果填充它;//已完成
  • 用户被告知已生成报告;//已完成
  • 用户按下另一个用于打印的按钮;//卡在这里!
  • 打印预览弹出和一个选项运行打印对话框。//被困在这里
  • 用户启动打印对话框,选择打印机和应用程序打印文件;

应用程序是用C++编写的,使用原始WinAPI (不使用MFC )。我正在Windows XP上工作。

问题:

我成功地使用OLE自动化生成/保存Word和Excel报告,但我无法创建与打印预览词完全匹配的打印预览

如果我使用OLE自动化显示Excel的打印对话框/打印预览,可能会发生以下问题:

用户只需单击“关闭打印预览”,也可以简单地关闭打印属性页(请参见下图)并返回到可能危及文档的数据的文档。

我的雇主不喜欢这样(他们没有软件工程/开发背景,所以不管我怎么说,最终都会变成“风中的回声”)。)他们希望我的打印预览与打印预览字生成的完全匹配。

因此,我需要一种为用户生成打印预览的解决方案,的方式与打印预览词的创建完全匹配。此外,用户应该能够只看到的样子,而不能从我的应用程序中打开文件。用户应该能够选择打印文件的打印机。

一个类似于图片中的实现会很好。

问题:

介绍性说明:

这个问题太宽泛了,不能在一篇文章中回答,所以我只能局限于寻求的建议/一般的概念/指向正确的方向。

实际问题:

我尽了最大努力处理OLE自动化和Excel / Word文件,但正如您所看到的,在生成打印预览时存在问题,因此有以下问题:

  1. 既然这是我第一次处理这类任务,你能给我推荐正确的方法(当然是一般的概念)吗?
  2. 是否有可能解决我的打印问题(比如向Word / Excel发送WM_PRINTCLIENT消息之类的)?

备注:

,我再次意识到这个问题太宽泛了,所以只要给我一些一般性的概念/指点,如果我被困在了什么地方,我就可以发布单独的问题。

我不需要使用 Word / Excel OLE Automation,这是我目前的选择。

如果你能推荐更好的解决方案,我很乐意接受。我不想使用库.

如果需要更多的信息,询问和我将编辑我的帖子。

EN

回答 1

Stack Overflow用户

发布于 2014-06-02 08:32:00

当用户单击“打印”按钮时,需要打开一个对话框,该对话框将包含一个控件,该控件显示默认打印机的预览,以及选择另一个打印机、打印和退出的三个按钮。

预览控件可以是静态控件,其中WM_PAINT处理程序将绘制预览(备选方案:提供html文本的where控件或向RTF文本提供的RichText控件,但这些控件的功能会限制您)。

报价:打印预览没有那么特别。这只是意味着您必须呈现到屏幕(或位图),否则,您将呈现给打印机DC。这主要意味着使用页面大小,并为prev/next页提供UI控件。

这就是答案详细描述了绘制预览所需做的工作。

这篇CodeProject文章有一些简单的打印预览代码;它使用的是简单的MFC,应该不会太难转换成普通的C++/WinAPI。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23975189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档