Main窗口中有一个 打印按钮button1 和一个Panel
子窗口在Panel中显示,而且Panel每次只显示一个子窗口
每个子窗口中都有一个SringGrid
无论Panel中显示的是哪个子窗口,都可以通过点击Main窗口的打印按钮把子窗口中的StringGrid的内容打印出来?我使用的是FastReport,也就是说怎样让打印按钮调用不同子窗口的frReport1.ShowReport?

解决方案 »

  1.   

    比如有3个窗口
    设一个全局变量i
    当第一个窗口时i =1 打印的时候就加一个判断 if i = 1 then beginend 
    else if = 2 then beginend
    else if = 3 then beginend;
      

  2.   

    我的意思说,不用通过设置变量来区分,因为每次Panel中只显示一个子窗口,而且每个子窗口中的打印函数都是相同的,能不能有一个通用的方法,而不去判断目前的子窗口。类如设置一个变量
    Form:TForm;
    当子窗口打开时,把当前子窗口赋给Form
    然后
    Form.frReport1.ShowReport;这样可以吗?
      

  3.   

    当然要进行判断,个人认为用case语句可以解决了,是好几个sheet吗?
      

  4.   

    得到活动窗体后在得到StringGrid把StringGrid的数据传到FastReport就可以