给分我吧,把Windows的默认打印机设置成自定义纸张就行了。

解决方案 »

  1.   

    给分我吧,把Windows的默认打印机设置成自定义纸张就行了。
      

  2.   

    用自定义纸张,Windows的打印机设置也要自定义纸张,长宽都要定义得和delphi一样
      

  3.   

    我不同意johnsonrao(johnson)和neilwq(qw) 。to:   xgto (陪我去看流星雨,可以吗?) 你可以讲清楚,怎么不是你想要的,问题说明白一点。
      

  4.   

    surfguy(冲浪小子) 那是你没碰上,我是碰上了,也是这样解决的。当然不能说保证能够楼主的问题,至少可以试试......
      

  5.   

    TO surfguy(冲浪小子) 
    我的意思是,我自定义了一个打印页面,是
    宽 : 350MM
    高 : 267MM
    预览的时候是好好的,可是打印的时候,它总是只打印出来一大半,其中右边的和下边的它就打印不出来了,为什么呢?
    我怎么放纸都不行的,很急的,帮帮我;
      

  6.   

    自己UP一下;
    还有
    TO  johnsonrao(johnson) and TO  neilwq(qw) 
    如何做啊?
    用自定义纸张,Windows的打印机设置也要自定义纸张,长宽都要定义得和delphi一样
    要怎样实现啊?
    帮帮我,谢谢;
      

  7.   

    procedure TForm1.Button1Click(Sender: TObject);
    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;     {Set to custom size}
          pDMode^.dmFields := pDMode^.dmFields or 
                              DM_PAPERSIZE or
                              DM_PAPERWIDTH or
                              DM_PAPERLENGTH;
          pDMode^.dmPaperSize := DMPAPER_USER;
          pDMode^.dmPaperWidth := 100 {SomeValueInTenthsOfAMillimeter};
          pDMode^.dmPaperLength := 100 {SomeValueInTenthsOfAMillimeter};     {Set the bin to use}
          pDMode^.dmFields := pDMode^.dmFields or DMBIN_MANUAL;
          pDMode^.dmDefaultSource := DMBIN_MANUAL;      GlobalUnlock(hDMode);
        end;
      end;
      Printer.PrinterIndex := Printer.PrinterIndex;
      Printer.BeginDoc;
      Printer.Canvas.TextOut(100,100, 'Test 1');
      Printer.EndDoc;
    end;
    ========================Try============================
      

  8.   

    to: xgto(陪我去看流星雨,可以吗?   那可能是你的打印机的设置和报表的合不上,打印机仍然按a4或B5打印。
      

  9.   

    报表控件是它自代的
    QuickRep
      

  10.   

    to: xgto(陪我去看流星雨,可以吗?   那可能是你的打印机的设置和报表的合不上,打印机仍然按a4或B5打印。
    ============================
    为什么这样说?
    我的打印机可以用A4 的纸的,我不太明白你说的是什么意思
      

  11.   

    宽 : 350MM
    高 : 267MM
    应该不是标准尺寸,用Custom Size应该没问题,但你的纸如果只有 
    宽 : 297MM
    高 : 210MM
    的话,那就肯定会出现问题。
      

  12.   

    其实不用自定义的大小同样可以打印!
    你把多余的部分看成空白不就可以了我看不见你想要的结果
    也看不见你不想要的结果
    所以也不知道怎么下手帮你这些年我都没有用QuickRep做打印
    使用Excel或Word做打印不亦乐哉
      

  13.   

    加入QRPrntr单元,再Custom,设置试一试
      

  14.   

    在QReport控件的属性中,有打印纸型的选择,试一下
      

  15.   

    你调用QReport的打印预览可以显示完整的页面吗?
      

  16.   

    你调用QReport的打印预览可以显示完整的页面吗?
    可以
      

  17.   

    你在Qreport的菜单中选"report setting"
    将第一排的portrait 改为landscape试试!
      

  18.   

    我的自定义报表可以在win98下打印,很正常,(是票据),打印机是针式打印机。
    但我在win2000下就打印不出来,(发现win2000没有自定义类型)
    ? why?
    谢谢      [email protected]
      

  19.   

    控制面板->打印机和传真->文件->服务器属性->创建新格式将你的报表格式添加进去试试?