如何在mfc应用程序中支持从右到左打印

How to support right to left printing in mfc application

我在应用程序中从右向左打印时遇到问题。我使用 codejock 报告控件;它很好地打印了从左到右的视图,这是一个例子:

当布局为 rtl 时,控件在屏幕上呈现得很好,打印预览也很好,但打印结果会导致文档失真,如下所示:

我试图覆盖视图的 OnPrepareDC 并使用 pDC->SetLayout(LAYOUT_RTL) 但它失败了,我需要有关如何解决此问题的帮助。

其实我已经找到了 RTL 打印问题的解决方案。

问题的原因是并非所有打印机的驱动程序都支持镜像,因此在打印机的 DC 上调用 SetLayout(RTL) 函数在所有打印机的驱动程序中都不起作用。

第一步是完全不调用 SetLayout(RTL), 那么你应该重写报告绘制管理器中的绘图方法 class 以在你处于 RTL 打印模式时设置每个绘图矩形的对齐方式。