关于TQRImage的显示问题 ( 积分: 17 )

  • 主题发起人 主题发起人 microtomato
  • 开始时间 开始时间
M

microtomato

Unregistered / Unconfirmed
GUEST, unregistred user!
Form1为主窗体,放置按钮2个,分别为Btn1和Btn2。
Form2为报表窗体,放置TQuickRep一个,TQRSubDetail一个,TQRImage一个。
以下为Form1的代码:
代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
     form2.ReqH := 100;
     Form2.QuickRep1.Preview;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     form2.ReqH := 200;
     Form2.QuickRep1.Preview;
end;
以下为Form2的代码:
代码:
procedure TForm2.QRSubDetail1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
     QRSubDetail1.Height := ReqH+4;
     with QRImage1do
 begin
          Height := ReqH;
          Canvas.Brush.Color := clLime;
          Canvas.FillRect(Rect(0,0,Width,Height));
     end;
end;
现在的问题是:程序启动后,先按Btn2,再按Btn1,则预览结果正常。(即按Btn2后预览显示的绿色区域大于按Btn1的),而如果先按Btn1,再按Btn2,则预览结果错误(即按Btn1和按Btn2显示的绿色区域一样大)。请问如何解决这个问题?我用的是QuickReport 4.05版本,Delphi版本是7.0。
 
Form1为主窗体,放置按钮2个,分别为Btn1和Btn2。
Form2为报表窗体,放置TQuickRep一个,TQRSubDetail一个,TQRImage一个。
以下为Form1的代码:
代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
     form2.ReqH := 100;
     Form2.QuickRep1.Preview;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     form2.ReqH := 200;
     Form2.QuickRep1.Preview;
end;
以下为Form2的代码:
代码:
procedure TForm2.QRSubDetail1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
     QRSubDetail1.Height := ReqH+4;
     with QRImage1do
 begin
          Height := ReqH;
          Canvas.Brush.Color := clLime;
          Canvas.FillRect(Rect(0,0,Width,Height));
     end;
end;
现在的问题是:程序启动后,先按Btn2,再按Btn1,则预览结果正常。(即按Btn2后预览显示的绿色区域大于按Btn1的),而如果先按Btn1,再按Btn2,则预览结果错误(即按Btn1和按Btn2显示的绿色区域一样大)。请问如何解决这个问题?我用的是QuickReport 4.05版本,Delphi版本是7.0。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
444
import
I
I
回复
0
查看
727
import
I
后退
顶部