请教:我在程序中控制PageFooter的高度,为什么不灵光??(100分)

  • 主题发起人 主题发起人 liusa
  • 开始时间 开始时间
L

liusa

Unregistered / Unconfirmed
GUEST, unregistred user!
请教各位高手:
我在QuickReport的OnNeedDate事件中控制了一下最后一页PageFooter的高度,语句执行无误,高度倒是变了,可就是打到页外面去了,Why?
我用的是QR3.05 for D4。

程序如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
QuickRpt, Qrctrls, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
QuickRep1: TQuickRep;
Button1: TButton;
DetailBand1: TQRBand;
PageFooterBand1: TQRBand;
QRLabel1: TQRLabel;
QRLabel2: TQRLabel;
procedure QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
procedure QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
PLines:integer;

implementation

{$R *.DFM}

procedure TForm1.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
PLines:=0;
end;

procedure TForm1.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin
PLines:=PLines+1;
moredata:=PLines<34;
if not moredata then
begin
PageFooterBand1.Height:=2*PageFooterBand1.Height;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
QuickRep1.Preview;
end;

end.
 
原因是你这时的页面高度已经固定。你可以先在初始化时设置好页面高度为
原高度-pagefooter要增加的高度。然后在动态增加完pagefooter后,也同时
增加页面高度。
 
接受答案了.
 

Similar threads

S
回复
0
查看
751
SUNSTONE的Delphi笔记
S
I
回复
0
查看
771
import
I
I
回复
0
查看
662
import
I
后退
顶部