在控制面版的打印机属性里,可以自定义纸
张,在delphi中执行 PrinterSetupDialog 控件
可以选择和设置,用程序语句怎样动态设置纸张
的长,宽?
    怎样操作控制面版的打印机属性?

解决方案 »

  1.   

    天下文章一大抄procedure TSTK57.setprintersize(pheigth, pwidth: 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.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 := pheigth * 10;
                pDMode^.dmPaperWidth := pwidth * 10;
                pDMode^.dmFields := pDMode^.dmFields or DMBIN_MANUAL;
                pDMode^.dmDefaultSource := DMBIN_MANUAL;
                GlobalUnlock(hDMode);
              end;
         end;
       Printer.PrinterIndex := Printer.PrinterIndex;end;
      

  2.   

    老兄,找本好书(价钱要超过100RMB的),自己看看就找到了啊,这些东西都有的...
      

  3.   

    都是骗子!
    我出书价的2倍,写一段给我看看,
    要求适应:Win9X/win2000/winXP至少前两种。OK?