用QR打印程序中自定义纸张,在NT下却无法选择自定义纸张类型.(100分)

  • 主题发起人 主题发起人 jjid
  • 开始时间 开始时间
J

jjid

Unregistered / Unconfirmed
GUEST, unregistred user!
在用QReport做报表,因为要控制打印纸大小,所以选Custom类型.
但程序在NT 4.0下使用,却发现打印纸无自定义型,所以打印不正确.
我该如何是好?
 
1、升级QR
2、修改QR的源码
3、使用其它的Report控件
 

关注问题
 
试试这个函数:
Procedure PRT_SET(P_Size,P_Orientation:Shortint);
Var
APrinterName,APrinterDriver,APrinterPort : Array[0..255] of Char;
AHnd : THandle;
ADevMode : PDevMode;
begin

Printer.GetPrinter(APrinterName,APrinterDriver,APrinterPort,AHnd);
ADevMode := GlobalLock(AHnd);
Try
AdevMode^.dmPaperSize := P_Size;

AdevMode^.dmScale := 100;

AdevMode^.dmPrintQuality := DMRES_MEDIUM;

AdevMode^.dmOrientation := P_Orientation;

Finally
GlobalUnlock(AHnd);
end;
Printer.SetPrinter(APrinterName,APrinterDriver,APrinterPort,AHnd);
end;

 
你是在设计期还是运行期,我没试运行期,设计期有自定义型。
对了,运行期也能用,我们作过一个打印程序,在NT,98下都试用过,没事。
或许和打印机的驱动程序有关,如你选的是NT带的驱动程序,那只能是NT的
版本低,我的这个版本是SERVICE PACK 3。
 
谁有很好的办法,
其实我一至对QUICK REPORT
没好感
不过还是知道好
 
原因是:部份打印机驱动程序在NT中无自定义纸张
请换打印机驱动程序试试.
 
多人接受答案了。
 
请问题
WANGYUGUO的函数如何用。
问题有何别的方法解决。
rikuchina@21cn.com
 
后退
顶部