5

我开发了自己的报表控件,它只是在控件窗口的客户端 DC 的 CDC 上绘制文本。我也有打印功能。报告输出直接发送到打印机。但是我想让用户在实际打印报告之前知道输出。

我不能使用 MFC 的打印预览架构来做到这一点,因为我的项目没有使用 doc/view 架构。我可以自己创建打印预览窗口吗?MFC 如何处理这个问题?在屏幕上显示打印机输出时是否需要进行任何特殊处理或牢记?我读过 MFC 使用 2 个 DC 进行打印预览。如果我要进行自定义打印预览,我是否也需要这样做?

非常感谢您的意见!蒂亚。

PS 我使用 Visual Studio 6 并且没有选项可以将其更改为较新的版本,因为我无法添加 doc/view 支持。

4

4 回答 4

0

如果您设法将输出打印到 RTF 格式的文件并将其显示在屏幕上,这会解决问题吗?

于 2009-06-26T11:00:19.690 回答
0

打印预览并没有那么特别。这只是意味着您必须将本来要渲染到打印机 DC 的内容渲染到屏幕(或位图)。这主要意味着使用页面大小,并为上一页/下一页提供 UI 控件。

于 2009-06-23T07:11:54.397 回答
0

为了将其编译为静态库,我对这段代码进行了修改。它适用于基于对话框的应用程序。
如果您不需要特殊功能,它会为您工作。

我不得不挖掘 MFC 机制来添加额外的功能,但最后我放弃了它。如果您了解其他编程语言,请尝试找到该语言的打印预览控件,将其制作为 dll 并从您的 MFC 应用程序中使用它。

例如,我找到了Delphi 的NicePreview控件,它对我来说非常好用!

于 2009-06-26T09:05:28.317 回答
0

MFC 中有一个 CPreviewView 类。也许您可以找到一种无需 MDI 结构来实例化它的方法。

否则,您可以简单地在屏幕上绘制您在打印机 DC 上绘制的任何内容。请记住,您可能需要将其缩小以降低 dpi。

于 2016-04-29T05:49:04.423 回答