1、我的报表设计时是设计成横向的,预览看到的也是横向的,可打印时却变成纵向了?每次打印都要在打印机属性设定那边重新再设定成横向才可以。
2、程序给定打印机,在打印对话窗中看到也是给定的打印机,但却会打到其它打印机去,这是为什么?每次打印时都得再重新选打印机才可以。
  这两个问题困扰很久了,哪个能帮个忙解决,谢谢了。

解决方案 »

  1.   

    1.还有可能的原因是跟打印机的设置是有关的,你需先排除打印机的问题,然后再确定是否是代码的问题。
    2.如果你是使用代码来调整横向的话,你需要这样做
      if Report.PrepareReport then
      begin
        Report.ShowPreparedReport
      end;
    你也可以参考一下DEMO。
    3.如果你是动态建立的话,你还必须确定对象的名字不要重复了。
      

  2.   

    fastreport '装入报表前选择'是起什么作用啊!!
      

  3.   

    打印前打印机选择:procedure TForm1.FormCreate(Sender: TObject);
    begin
      Printer.PrinterIndex := -1;
      ComboBox1.Style:= csDropDownList;
      ComboBox1.Items:= Printer.Printers;
      ComboBox1.ItemIndex  := Printer.PrinterIndex;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      MyHandle  : THandle;
      MyDevice,
      MyDriver, 
      MyPort: array [0..255] of Char;
    begin
      Printer.PrinterIndex := ComboBox1.ItemIndex;
      Printer.GetPrinter(MyDevice,
                         MyDriver,
                         MyPort,
                         MyHandle);
      StrCat( MyDevice, ',');
      StrCat( MyDevice, MyDriver );
      StrCat( MyDevice, ',');
      StrCat( MyDevice, MyPort );  WriteProfileString('WINDOWS',
                         'DEVICE',
                         MyDevice );  SendMessage(HWND_BROADCAST,
                  WM_WININICHANGE,
                  0,
                  LongInt(pChar('windows')));
    end;
      

  4.   

    在网上找了一下,其他人也遇到过同样的问题
    http://topic.csdn.net/t/20061104/13/5132897.html#
    每次打印前都必须在预览窗口上打开打印机属性,即使里面看到也是横向,但也要重设保存,这样打出来才是横向的.
      

  5.   

    我在fastreport的Demo中找到一个报表 prntbl3,也是横向的,打印出来也缺了一部分.
    fastreport的BUG吗