Delphi程序中应该在哪里用什么方法自定义打印纸尺寸?我试了通过DevMode来实现,未遂,哪位大侠能帮帮我?????

解决方案 »

  1.   

    你看一看printer有没有相关属性?
    用程序设置打印纸张类型:var
    Device:Array[0..cchDeviceName-1] of Char;
    Driver:Array[0..(MAX_PATH-1)] of Char;
    Port:Array[0..32] of Char;
    hDMode:THandle;
    pDMode:PDevMode;
    begin
    Printer.GetPrinter(Device,Driver,Port,hDMode);
    if hDMode<>0 then
    begin
    pDMode:=GlobalLock(hDMode);
    if pDMode<>nil then
    begin
    pDMode^.dmPaperSize:=DMPAPER_A5;
    pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERSIZE;
    GlobalUnLock(hDMode);
    end;
    end;
    end; 
      

  2.   

    我也是这么设置的,只不过尺寸是自定义的(38cm*8cm),但不起作用。
    打印机(EpsonLQ1600K3,支持宽行打印的,)的打印范围和走纸长度
    还是不变,感谢回复,还有其他的办法吗?或者还有什么要特别注意的地方吗?
      

  3.   

    我使用WinNT的打印设置中自定义了一个纸张尺寸,
    怎么能让它生效或是出现在打印机属性的纸张大小
    选择中呢?