动态自定义纸张大小的问题,请高手支持我打印机是Epson LQ-300k+(但我装的是LQ-1500的驱动程序,可正常使用),已经设置了一个纸张为”PLabel”,宽为230mm,长度为32mm,但现在我想通过程序动态设置这个长度,请问我要怎样写这个程序呢?还有,我不明白有高手程序里的TFormInfor1是怎样来的,我照例弄了一下,FormInfo:TFormInfo1;出错。谢谢大家支持!
附高手的代碼://增加规格自定义纸张
//PaperName: 自定义纸张名称
//PaperWidth: 纸张的宽度,以0.1mm为单位
//PaperLength: 纸张的高度,以0.1mm为单位
procedure TDM.AddCustomPaper(const PaperName: string; PaperWidth, PaperLength:integer);
var
  PrintDevice, PrintDriver, PrintPort : array[0..255] of Char;
  hDMode   : THandle;
  hPrinter : THandle;
  FormInfo : TFormInfo1;
begin
  Printer.GetPrinter(PrintDevice, PrintDriver, PrintPort, hDMode);
  OpenPrinter(PrintDevice, hPrinter, nil);
  ......

解决方案 »

  1.   

    FormInfo : TFormInfo1中TFormInfo1应该是原来作者自己定义的一个Form,让用户输入自定义纸张参数的吧。看看后面对FormInfo的引用就应该知道TFormInfo1干什么的了.
      

  2.   

    我還是看不懂:with FormInfo do
      begin
        Flags := FORM_USER;
        pName := PChar(PaperName);
        Size.cx := PaperWidth*100;
        Size.cy := PaperLength*100;
        ImageableArea.Left := 0;
        ImageableArea.Top := 0;
        ImageableArea.Right := PaperWidth*100;
        ImageableArea.Bottom := PaperLength*100;
      end;Flags ,pName等等是什麼東東啊?
      

  3.   

    我己經知道了!雖然 hawksoft(明月清风) 沒有答對,還是結了吧!
      

  4.   

    到底TFormInfo1是什么东东,有没有源代码?