关于在报表组件里动态创建TLABEL的问题(急,24小时内结帖)

时间:2021-10-14 22:07:07
我想在报表组件里面按用户要求创建并输出N个TLABEL组件内容,我要怎样生成TLABEL组件呢?注意:N的数目不确定,由用户确定!
请问大哥,代码应该怎样写?

9 个解决方案

#1


new呀

#2


谢谢matq2008(叶子.net)大哥,但是我也知道是NEW啊!
我现在是想知道在数量未知的情况下,要怎样创建啊?

#3


TLabel * mylabel=new TLabel(Form1);
mylabel->x=10;
mylabel->y=10;
mylabel->Parent=Form1;

依次循环就可以了

#4


whitelion(chinaproject.51.net)大哥,依次循环的意思是不是指这样?
for(int i=0;i<StrToInt(Edit1->Text);i++){
TLabel * mylabel=new TLabel(Form1);
mylabel->x=10;
mylabel->y=10;
mylabel->Parent=Form1;
}

#5


x,y是坐标,每生成一个label就调整一下坐标
form1是相应的窗体
其他的属性看着加吧
caption得写的

#6


如果想管理,可以将它们都加到TList中

#7


请问动态生成TLABEL加到报表中的方法跟加到窗体中的方法是一样的吗?

#8


study

#9


我在报表中已经能动态生成TQRLabel!
TQRLabel *l1;
base=0;
for(int i=0;i<=3;i++){
                l1=new TQRLabel(QRListForm->QRBand1);
                l1->Parent=QRListForm->QRBand1;
                l1->Caption=IntToStr(i);
                l1->Left=0;l1->Top=base;l1->AutoSize=true;
                base+=10;
}
QRListForm->QuickRep1->Preview();//第一次Preview();
delete l1;
for(int i=0;i<=3;i++){
                l1=new TQRLabel(QRListForm->QRBand1);
                l1->Parent=QRListForm->QRBand1;
                l1->Caption=IntToStr(i);
                l1->Left=0;l1->Top=base;l1->AutoSize=true;
                base+=10;
}
QRListForm->QuickRep1->Preview();//第二次Preview();
问题出现了,我第二次Preview()的时候,第一次Preview()的4个LABEL还在,但是我已经把第一次Preview()的l1删除了,这是什么回事?
请大哥继续指导我一下啦!

#1


new呀

#2


谢谢matq2008(叶子.net)大哥,但是我也知道是NEW啊!
我现在是想知道在数量未知的情况下,要怎样创建啊?

#3


TLabel * mylabel=new TLabel(Form1);
mylabel->x=10;
mylabel->y=10;
mylabel->Parent=Form1;

依次循环就可以了

#4


whitelion(chinaproject.51.net)大哥,依次循环的意思是不是指这样?
for(int i=0;i<StrToInt(Edit1->Text);i++){
TLabel * mylabel=new TLabel(Form1);
mylabel->x=10;
mylabel->y=10;
mylabel->Parent=Form1;
}

#5


x,y是坐标,每生成一个label就调整一下坐标
form1是相应的窗体
其他的属性看着加吧
caption得写的

#6


如果想管理,可以将它们都加到TList中

#7


请问动态生成TLABEL加到报表中的方法跟加到窗体中的方法是一样的吗?

#8


study

#9


我在报表中已经能动态生成TQRLabel!
TQRLabel *l1;
base=0;
for(int i=0;i<=3;i++){
                l1=new TQRLabel(QRListForm->QRBand1);
                l1->Parent=QRListForm->QRBand1;
                l1->Caption=IntToStr(i);
                l1->Left=0;l1->Top=base;l1->AutoSize=true;
                base+=10;
}
QRListForm->QuickRep1->Preview();//第一次Preview();
delete l1;
for(int i=0;i<=3;i++){
                l1=new TQRLabel(QRListForm->QRBand1);
                l1->Parent=QRListForm->QRBand1;
                l1->Caption=IntToStr(i);
                l1->Left=0;l1->Top=base;l1->AutoSize=true;
                base+=10;
}
QRListForm->QuickRep1->Preview();//第二次Preview();
问题出现了,我第二次Preview()的时候,第一次Preview()的4个LABEL还在,但是我已经把第一次Preview()的l1删除了,这是什么回事?
请大哥继续指导我一下啦!