锐浪报表 Grid++Report PrintPreview 显示模式

     一、Windows 窗体的显示模式

     在Windows中,显示存在作为窗体和对话框要么是有模式的,要么是无模式的。

    “模式”窗体或对话框必须关闭或隐藏,然后您才能继续使用应用程序的其余部分。当我们要显示重要消息的对话框应始终是有模式的。例如 MessageBox 是一个可供您使用的有模式的窗体。

    “无模式”窗体让您在此窗体与另一窗体之间变换焦点,而不必关闭初始窗体。 用户在该窗体显示的同时可继续在任何应用程序的其他位置工作。

    作为编程,执行代码是一条一条向下执行的,“模式”窗体或对话框,是严格执行这一规律,查找问题较容易。“无模式”窗体,执行代码可以跨越出的现对话框(或模块),进入另一窗体或下一段代码。因此,无模式窗体的编程难度更大,因为用户访问这些窗体的顺序可能无法预知。不论用户执行什么操作,都必须使该应用程序的状态保持一致。 工具窗口经常以无模式方式显示。

    二、GridppReport.PrintPreview

    GridppReport.PrintPreview方法在Grid++Report提供的缺省打印预览窗口中预览报表。调用此方法后,首先生成报表数据,过程中会触发一系列事件;然后生成打印页面,过程中也会触发一系列事件;最后打开缺省预览窗口并将生成的打页面显示在窗口中。

    PrintPreview(True); “模式”窗体,调用PrintPreview

    PrintPreview(False); “无模”窗体,调用PrintPreview 

    三、实际运用

    实际编程时,运用无模式,可以跳过(停滞代码)的特点,实现打印目的。

    1、软件中尽可能使用“模式”调用PrintPreview(True);

    2、使用第三方AlphaControls控件,调用PrintPreview时,使用模式会出现窗口停滞,应采用无模式方式回避(跳过)造成停滞的皮肤代码实现打印。

    在软件中,设置一个全局变量 PrintShowModal:=False

    调用时:

  GridppReport1.PrintPreview( PrintShowModal );

    3、通过While循环调用Table数据调用打印模块(打印单面),实现连续打印。

    此时,应采取模式显示打印,如果调用PrintPreview(False),会出现仅读取首个数据,打印都是第一个信息错误。改用PrintPreview(True)实现步骤打印的效果。

     4、实际运用时,最好二者对调,测试那种效果好。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值