自定义纸张问题!在线等!(100分)

  • 主题发起人 主题发起人 niuxuefeng
  • 开始时间 开始时间
N

niuxuefeng

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要自定义纸张大小,写了自定义长度:
procedure SetPaperHeight(Value: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
if Value < 30 then
Value := 30;
if Value > 432 then
Value := 432;
Printer.PrinterIndex := printer.PrinterIndex;
Printer.GetPrinter(Device, Driver, Port, hDMode);
if hDMode <> 0 then
begin
pDMode := GlobalLock(hDMode);
if pDMode <> nil then
begin
pDMode^.dmFields := pDMode^.dmFields or DM_PAPERSIZE or
DM_PAPERLENGTH;
pDMode^.dmPaperSize := DMPAPER_USER;
pDMode^.dmPaperLength := Value * 10;
pDMode^.dmFields := pDMode^.dmFields or DMBIN_MANUAL;
pDMode^.dmDefaultSource := DMBIN_MANUAL;
GlobalUnlock(hDMode);
end;
end;
Printer.PrinterIndex := Printer.PrinterIndex;
end;
可是在Printer.PrinterIndex := printer.PrinterIndex;
这一行运行是出错,提示printers类溢出,再接着运行:Printer.GetPrinter(Device, Driver, Port, hDMode);这一行时,提示:printing in progress!
怎么回事啊,我很急的,望大家帮忙啊!
 
对了,我的打印机是别的类型的,可是安装了ENPSON 的LQ 1600K 也能够打印测试页,并且也不支持自定义纸张大小,我在控制面板下添加了一个自定义纸张大小的项目,不知能否这样来改变自定义纸张的大小?
 
没有人帮忙吗?
 

Similar threads

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