要做收据打印,在预览的时候应该给用户看到完整收据的内容,但是打印的时候却是只需要打印其中的一些数据,怎样控制这些数据在预览时是可见的,而打印的时候则不打印?
急~~~~~~~~~~,请多多帮忙!谢谢!

解决方案 »

  1.   

    在BeforePrint事件里写 把你不要的显示的VISIBLE:=FALSE  可以吗  :))没这么简单吧 
    关注,,
      

  2.   

    同意hezi22(禾子)的方法,
    也只能这样。
      

  3.   

    首先你要将打印时不显示的组件按规则起名,如都移nop_开头,然后打印前先使用下面的这个过程,在调用quickrep的print事件,而预览则不调用这个过程(该过程的参数是一个窗体)
     
    procedure DisablePrintbleLabel(Frm: Tform);
    var
      i                 : integer;
    begin
      for i := 0 to frm.ComponentCount - 1 do
      begin
        if copy(frm.Components[i].name, 1, 4) = 'nop_' then
        begin
          TQRPrintable(frm.Components[i]).enabled := false;
        end;
      end;
    end;
      

  4.   

    多谢mrfanghansheng(☆☆☆木鱼☆☆☆) 。不过这样还不行,因为关键是我不知道怎样怎样判断是预览还是打印。
    我是可以在调用print前先调用这个处理过程,但只是限于直接用户直接打印的时候,
    如果用户是先预览,显示预览窗体后,用户点击的是预览界面上的打印按钮,那我就没有办法这样处理了。原打算在beforeprint事件中执行一段代码,即判断是预览还是打印,然后做不同的处理,问题是我不知道怎样判断是预览还是打印。有人说有个属性可以判断,但是我查帮助查资料都没有找到那个属性:(((。请大家继续指点。谢谢!