急!!!关于quick report 打印的问题 !(50分)

  • 主题发起人 主题发起人 hbhzy2001
  • 开始时间 开始时间
H

hbhzy2001

Unregistered / Unconfirmed
GUEST, unregistred user!
用QReport控件设置打印,将纸张设置成201*148,调用preview预览正常,但是真正打印出来后就给拉长了,打印出来的内容占满整张A4纸。
 
应该将纸张的类型设置成CUSTOM
 
如果是NT系列系统,还要设置打印机的纸张为Custom
 
在打印机属性里设置好纸的格式,Qreport.pagesize属性设为default就好了
 
同意xst945
 
quick report 对自定义纸张的支持不够!
 
Qreport.pagesize属性设为default,同时将打印机属性中的‘打印首选项’和‘打印默认值’里的纸张大小设为:201*148
即:按lxw5214的说法
 
// uses Printers, WinSpool;
//如果自定义纸张类型名称为 pFormName 则选取
//否则添加
//改变当前的打印纸张设置
// pFormName 纸张类型名称 nPaperWidth 纸张宽度 nPaperLength 纸张高度
procedure MySetPaper(pFormName: PChar;
nPaperWidth, nPaperLength: Longint);
stdcall;
var
FormInfos : Array [1..1024] of Form_Info_1;
cbNeeded, cReturned ,neededsize: DWORD;
i,j:integer;
ppo:PRINTER_INFO_2;
dev :PDeviceMode;
hPrinter: THandle;
FormInfo: TFormInfo1;
PaperSize: TSize;
PaperRect: TRect;
begin
if OpenPrinter(PChar(Printer.Printers[0]), hPrinter, nil) then
begin
EnumForms(hPrinter, 1, Nil, 0, cbNeeded, cReturned);
EnumForms(hPrinter, 1, @FormInfos, cbNeeded, cbNeeded, cReturned );
j := -1;
for i := 1 to cReturned do
//通过轮寻找到 pFormName 的纸张的纸张类型排序号
begin
if string(FormInfos.pName) = string(pFormName) then
begin
j:=i;
Break;
end;
end;
if j<0 then
//如无 pFormName 纸张则添加
begin
FormInfo.Flags := FORM_USER;
FormInfo.pName := pFormName;
PaperSize.cx := nPaperWidth*100;
PaperSize.cy := nPaperLength*100;
PaperRect.Left := 0;
PaperRect.Top := 0;
PaperRect.Right := nPaperWidth*100;
PaperRect.Bottom := nPaperLength*100;
//纸张的边距
FormInfo.Size := PaperSize;
FormInfo.ImageableArea := PaperRect;
AddForm(hPrinter, 1, @FormInfo);
j := cReturned+1;
end;
GetPrinter(hPrinter, 2, Nil, 0, @NeededSize);
GetPrinter(hPrinter, 2, @ppo, NeededSize, @NeededSize);
dev := ppo.pDevMode;
dev.dmPaperSize := j;
ppo.pDevMode := dev;
SetPrinter(hPrinter, 2, @ppo, 0);
//定义打印机列表并选择 pFormName 纸张
end;
ClosePrinter(hPrinter);
end;
 
弄好了记得放分......
 
Qreport.pagesize属性设为default
各位都是石家庄的吧,呵呵,别忘记了给点分啊
 
非常感谢各位的回答,我已经解决了!
 
帮顶!
http://www.source520.com
站长开发推广同盟 站长朋友的终极驿站
同时拥有海量源码电子经典书籍下载
http://www.source520.com/search/search.asp
&quot;编程.站长&quot;论坛搜索引擎-----为中国站长注入动力!
 
后退
顶部