这样:
首先明确一个观点:QuickReport的Prepare、Preview和Print至少对用户来说是执行相同的事件。
所以如果你使用如下语句:QuickReport1.Preview进行预览,然后点击打印,相当与你执行了两次BeforePrint,设置一个全局变量,在这里面来判断打印次数就可以了。
如果你使用一下语句进行QuickReport1.Prepare;QuickReport1.Preview进行打印预览以及打印,那么次数应该位三次。
其次:你需要了解的是在QuickReprt里面设置控件不可预览或者说不可打印使用的属性不是想当然的Visible!是Enabled,设置控件Enabled=False,就可以做到不打印或者预览不显示了。
综上所述:就是在BeforePrint里面判断打印的次数,如果打印次数超过1次(或者2次——看你是否使用Prepare),就设置相应控件的Enabled=False