在QReport中自定义纸张大小的问题,谁碰到了?(50分)

  • 主题发起人 主题发起人 gjxjq
  • 开始时间 开始时间
G

gjxjq

Unregistered / Unconfirmed
GUEST, unregistred user!
在QReport中自定义纸张大小,用Epson针式打印机,预览正常后打印,光走纸,不打印,能告诉我怎吗解决吗?
 
将打印机纸张设置为自定义
 
to xianguo:
Thanks ,我将打印机纸张设置为自定义后已能打印,但不知怎样用程序来实现将打印机纸张
设为自定义?
 
写这样的代码:
QuickRep1.Page.PaperSize:=custom;//这里一定要设成custom;
QuickRep1.Page.Length:=297;//长度,这里单位是mm,值可设成你需要的
QuickRep1.Page.Width:=210;//宽
其它的边距等,你看看page属性,设成你需要的就可以了!
这样一定能解决!
 
procedure printer_set(aLength,aWidth :Integer);
var
Device:Array[0..256] of Char;
Driver:Array[0..256] of Char;
Port:Array[0..32] of Char;
hDMode:THandle;
pDMode:PDevMode;
begin
Printer.GetPrinter(Device,Driver,Port,hDMode);
if hDMode<>0 then
pDMode:=GLobalLock(hDMode);
if pDMode<>nil then
begin
pDMode^.dmPaperSize:=256;
pDMode^.dmPaperLength:=aLength;//长
pDMode^.dmPaperWidth:=aWidth;//宽
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERSIZE;
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERLENGTH;
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERWIDTH;
end;
ResetDC(Printer.Handle,pDMode^);
GLobalUnLock(hDMode);
end;
 
我的方法和tkeng 一样的,可以解决
 
我的方法和tkeng 一样的,可以解决
 
我的方法和TKENG一样的,可以解决
 
参考http://www.delphibbs.com/delphibbs/dispq.asp?lid=1312675
 
怪,你把代码贴出来
 
接受答案了.
 
后退
顶部