如何在一报表中动态创建QRLabel组建???高分请进……SOS

youhe 2000-09-05 08:50:00
本人欲想在报表中动态创建QRlabel组建:

var label_temp:Tqrlabel;

……

label_temp:=tqrlabel.Create(self);
label_temp.Left:=170;
label_temp.top:=60;
label_temp.width:=100;
label_temp.caption:='label';

运行时Preview没出错,但qrlabel不显示,不知为何……,请各大虾相救,高分相送,谢谢
...全文
134 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragongong 2000-09-07
  • 打赏
  • 举报
回复
不要在BeforePrint事件中创建label,在Tplayer_report所在的unit中建立一个全局类型的过程
procedure PrintPlayerReport;
begin
with Tplaryer_report.create(nil) do
begin
with TQRLabel(qrband1.Addprintable(TQRLabel)) do
begin
top:= 4;
left:= 8;
height:= 23;
caption:= 'temp';
end;
end;
end
Sayhigh 2000-09-07
  • 打赏
  • 举报
回复
InsertControl(label_temp);
youhe 2000-09-06
  • 打赏
  • 举报
回复
procedure Tplayer_report.qrband1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
with TQRLabel(player_report.qrband1.AddPrintable(TQRLabel)) do
begin
Top:= 4;
left:= 8;
height:= 23;
caption:='temp'
end;
end;
运行地址出错!
为什么不能在QRband1中用qrband1.AddPrintable(TQRLabel)动态创建Qrlabel!???!!
7030 2000-09-06
  • 打赏
  • 举报
回复
procedure setlb(sender :tobject)
var lb:tqrlabel;
begin
lb:=tqrlabel.create(nil);
lb.parent:=qrband1;
lb.top:=...
lb.left:=...
lb.width:=...
lb.height:=...
lb.caption:=...
end;
dragongong 2000-09-06
  • 打赏
  • 举报
回复
label_temp:= TQrlabel.Create(此处应填写Owner);
如:lable_temp:= TQrlabel.Create(QRBand1);

更好的办法:
with TQRDBText(rptMain.qrDetailBand.AddPrintable(TQRDBText)) do
begin
Top:= 4;
left:= 8;
height:= 23;
Dataset:= frmMain.Query;
DataField:= Fields[i].FieldName;
......

end;
dragongong 2000-09-06
  • 打赏
  • 举报
回复
label_temp:= TQrlabel.Create(此处应填写Owner);
如:lable_temp:= TQrlabel.Create(QRBand1);

更好的办法:
with TQRDBText(rptMain.qrDetailBand.AddPrintable(TQRDBText)) do
begin
Top:= 4;
left:= 8;
height:= 23;
Dataset:= frmMain.Query;
DataField:= Fields[i].FieldName;
......
end;
yiyu 2000-09-05
  • 打赏
  • 举报
回复
关注!

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧