1

我有几个以横向模式设计的报表,在通过 VB6 Crystal 控件进行预览和打印时可以正常工作。

我最近被要求允许更改打印机,因此添加了代码来枚举打印机,并设置控件的PrinterDriverPrinterName属性PrinterPort。虽然这适用于纵向报表,但指定默认打印机以外的任何内容都会导致报表查看器强制报表进入所选打印机的默认方向。

设置Printer.OrientationvbPRORLandscape对水晶没有影响,因为它使用自己的打印表面。Crystal 查看器也无法指定方向(在设计器中设置为横向)

Microsoft KB198901具有更改默认方向的示例代码(更改为 use 之后PRINTER_ACCESS_USE),但这会影响任何其他可以访问该打印机的内容,直到它再次变回。

有什么方法可以打印到特定的打印机并保持报表的横向,而不会在控件使用期间暂时将打印机的系统范围配置更改为横向?

报表是在 Crystal 4.6 中设计的,由 Crystal 8.0 查看器控件打印。

4

1 回答 1

0

我猜你正在设置 CRAXDRT.Report 的 PrinterDriver、PrinterName 和 PrinterPort 属性。同一对象具有 PaperSize 和 PaperOrientation 属性。您是否尝试设置它们?

于 2013-06-19T18:23:57.370 回答