我有几个以横向模式设计的报告,在通过VB6 Crystal控件进行预览和打印时工作正常。
我最近被要求允许更改打印机,以便添加代码来枚举打印机,并设置控件的PrinterDriver
,PrinterName
和PrinterPort
属性。
虽然这适用于纵向报告,但指定除默认打印机以外的任何内容都会导致报告查看器强制将报告置于所选打印机的默认方向。
将Printer.Orientation
设置为vbPRORLandscape
对水晶没有影响,因为它使用自己的打印面。
Crystal查看器也无法指定方向(在设计器中将其设置为横向)
Microsoft KB198901包含更改默认方向的示例代码(在更改为使用PRINTER_ACCESS_USE
之后),但这会影响访问该打印机的任何其他内容,直到它再次更改为止。
是否有任何方法可以打印到特定的打印机并保持报告的横向方向,而不会在控件使用期间暂时将打印机的系统范围配置更改为横向?
报告在Crystal 4.6中设计,由Crystal 8.0查看器控件打印。
答案 0 :(得分:0)
我猜您正在设置CRAXDRT.Report的PrinterDriver,PrinterName和PrinterPort属性。同一对象具有PaperSize和PaperOrientation属性。你试过设置它们吗?