套打的字怎么变小了?(100分)

  • 主题发起人 主题发起人 lzb
  • 开始时间 开始时间
L

lzb

Unregistered / Unconfirmed
GUEST, unregistred user!
用Qreport做一套打表格,表格的式样在Qreport中已定义好了,
QuickRep1.Page 为 custom;
QuickRep1.Page.length=200;
//mm
QuickRep1.Page.width=150;
打印时如下:
SetPaperSize(1500,2000);//0.1mm
Form1.QuickRep1.Prepare;
Form1.QuickRep1.Printer.Print;
在打印前自定义纸张,程序如下:
Form1.SetPaperSize(X,Y:integer);
var
Device: array[0..255] of char;
Driver: array[0..255] of char;
Port: array[0..255] of char;
hDMode: THandle;
PDMode: PDEVMODE;
begin
Printer.PrinterIndex := Printer.PrinterIndex;
Printer.GetPrinter(Device, Driver, Port, hDMode);
if hDMode <> 0 then
begin
pDMode := GlobalLock(hDMode);
if pDMode <> nil then
begin
if (x = 0) or (y = 0) then
begin

pDMode^.dmFields := pDMode^.dmFields or dm_PaperSize;
pDMode^.dmPaperSize := DMPAPER_FANFOLD_US;
end
else
begin
pDMode^.dmFields := pDMode^.dmFields or DM_PAPERSIZE or
DM_PAPERWIDTH or DM_PAPERLENGTH;
pDMode^.dmPaperSize := DMPAPER_USER;
pDMode^.dmPaperWidth := x ;
pDMode^.dmPaperLength := y;
end;

GlobalUnlock(hDMode);
end;
end;
Printer.PrinterIndex := Printer.PrinterIndex;


end;

打印可以,但字小得用放大镜恐怕也看不清!
我看过一些有关坐标变换之类的例子,但问题是我的套打格式是在Qreport中搞的,
这这么办???
 
估计坏在你改了打印机的纸的大小而qreport不知道
 
Pipi,我经常看见你在论坛上 "砍",你不觉得刚才回答我的问题就象没回答一样?
 
1、有没有用 SetMapMode
2、最好还是不要改 DEVMODE 吧,quickrep自己的属性都可以设置纸张大小了
 
1.我不知道如何在delphi中用SetMapMode,请指教。
2。由于纸张是自定义,且不允许通过控制面板来设置,只有修改DEVMODE,
否则自定义纸张无效.
 
Pipi:
setmapmode 对Qreport有效吗?

 
你有qreport的源码吗,如果有,我寄个修改了的qreport里面的pas文件
给你,重新编译quickrep,就可以设置、随便打自定义纸张了
 
pipi,我有qreport的源码,请速寄! f-111@990.net 或dsj-2000@yeah.net
分全部给pipi
 
哪有qreport的源码的源码可下载??
 
谢谢pipi,100分全部给pipi
 

Similar threads

S
回复
0
查看
688
SUNSTONE的Delphi笔记
S
S
回复
0
查看
683
SUNSTONE的Delphi笔记
S
I
回复
0
查看
844
import
I
后退
顶部