只走纸不打印(50分)

  • 主题发起人 主题发起人 xushufa
  • 开始时间 开始时间
X

xushufa

Unregistered / Unconfirmed
GUEST, unregistred user!
有没有谁帮我看看这段代码,为什么只走纸不打印
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
{Set to legal}
PDMode^.dmFields:=pDMode^.dmFields or dm_PaperSize;
pDMode^.dmPaperSize:=DMPAPER_LEGAL;
//自定义纸张
pDMode^.dmFields:=pDMode^.dmFields or
DM_PAPERSIZE or
DM_PAPERWIDTH or
DM_PAPERLENGTH;
pDMode^.dmPaperSize:=0;//DMPAPER_USER;
pDMode^.dmPaperWidth:=100;//设置纸张的宽度
PDMode^.dmPaperLength:=100;//设置纸张的高度
pDMode^.dmFields:=pDMode^.dmFields or DMBIN_MANUAL;
pDMode^.dmDefaultSource:=DMBIN_MANUAL;
GlobalUnLock(hDMode);
end;
end;
printer.PrinterIndex:=Printer.PrinterIndex;
Printer.begin
Doc;
Printer.Canvas.TextOut(40,100,'1234567');
Printer.EndDoc;
 
...
pDMode^.dmFields:=pDMode^.dmFields or DMBIN_MANUAL;
pDMode^.dmDefaultSource:=DMBIN_MANUAL;
//insert
Printer.SetPrinter(ADevice, ADriver, APort, pDMode);
//make it right
//
GlobalUnLock(hDMode);
end;
...
 
接受答案了.
 

Similar threads

I
回复
0
查看
862
import
I
S
回复
0
查看
711
SUNSTONE的Delphi笔记
S
S
回复
0
查看
706
SUNSTONE的Delphi笔记
S
I
回复
0
查看
675
import
I
后退
顶部