如何将 MFC DC 与 QPrinter 关联?

Posted

技术标签:

【中文标题】如何将 MFC DC 与 QPrinter 关联?【英文标题】:How to associate a MFC DC with QPrinter? 【发布时间】:2011-03-12 14:04:31 【问题描述】:

我只是想知道是否可以使用我现有的 MFC 创建的 DC 与 QPrinter 关联,以便它直接使用现有的 DC 而不是使用 QPrintDialog 创建自己的 DC?

QPrinter 是否像 QWidget 那样使用 Qt 的后备存储,即它是否在打印之前创建一个离屏图像?

【问题讨论】:

【参考方案1】:

第一件事: QPrintDialog 与您的问题无关。 您可以在不使用 QPrintDialog 的情况下设置 QPrinter。

无论如何:您在 QPainter 中绘画,其中 QPrinter “仅”是打印设备。仅当您结束 QPainter 时才开始打印。所以在使用 QPrinter 时有一个后备存储。

您无法将 DC 转换为 QPainter,因此 QPrinter 无法对 DC 执行任何操作。最接近的方法是从 DC 获取位图并将其打印到新的 QPainter。

【讨论】:

以上是关于如何将 MFC DC 与 QPrinter 关联?的主要内容,如果未能解决你的问题,请参考以下文章

MFC当中CClientDC类当中的MoveTo与LineTo的运用

使用MFC打印到打印机DC

mfc里给picture控件加载一张位图,然后在位图上画一条线,该怎么做

mfc如何使编辑框与变量关联?

【mfc】如何设置与Edit控件关联的double变量所显示的小数位数

如何将自旋控件关联到 MFC 中的不同编辑框