现在定义的报表预览正确(QuickRep1.Preview();),但打印时右边部分被截掉。打印出来的效果怎么试都是A4窄边的宽度!我将QR控件的属性设置成自定义的340mm宽*280mm长,并有代码如下:
void __fastcall TFORM_Rep_KCZM_A::QuickRep1BeforePrint(
      TCustomQuickRep *Sender, bool &PrintReport)
{
    QuickRep1->Page->PaperSize = Custom;
    QuickRep1->Page->Length = 280;
    QuickRep1->Page->Width  = 345;
    QuickRep1->Page->Orientation = poPortrait;
    QuickRep1->Units = MM;
}我已经把打印机个处设置的纸张都设置为 US Std Fanfold,可报表打印时的打印机作业中看到的作业属性里的纸张仍然是A4.问题解决后,马上给分。

解决方案 »

  1.   

    那些代码放在Form的OnCreate事件中了,也在预览之前增加了Prepare()(其实没有这句预览也正常),打印机走纸正常,每个送纸器的纸型全部设置成US Std Fanfold。可打印出来的还是A4窄边的宽度。打印机作业中看到的作业属性里的纸张仍然是A4.我不明白这个A4从哪里来的?!QR的版本是 3.3.0,CB5内带的,升级成3.5结果一样。
      

  2.   

    http://borland.mblogger.cn/aiirii/posts/3412.aspx
      

  3.   

    谢谢 aiirii(ari-爱的眼睛)!可那段代码用于解决其它形式打印输出的自定义纸张,偏偏提到用QR本身就可以解决。
      

  4.   

    QuickRep1->Units = MM;
    这句放在代码前边呢??
      

  5.   

    还是没有效果~~~~补充:操作系统是 Windows 2000/xp