如何在 FastReport3 中动态生成 Memo? ( 积分: 100 )

  • 主题发起人 主题发起人 jqjiang
  • 开始时间 开始时间
J

jqjiang

Unregistered / Unconfirmed
GUEST, unregistred user!
在以前的版本(2.X)中,我用下面的语句来动态生成:
v:=frCreateObject(gtMemo,'');
page.Objects.Add(v);
TfrMemoView(v).SetBounds(100, 100, 50, 30);
TfrMemoView(v).FrameTyp:=15;
TfrMemoView(v).Font.Name:='宋体';
TfrMemoView(v).Font.Size:=11;
TfrMemoView(v).Alignment:=10;
TfrMemoView(v).Memo.Text:='内容';
但在3.0以上编译就通不过了 :(
请问如何解决?谢谢!
 
在以前的版本(2.X)中,我用下面的语句来动态生成:
v:=frCreateObject(gtMemo,'');
page.Objects.Add(v);
TfrMemoView(v).SetBounds(100, 100, 50, 30);
TfrMemoView(v).FrameTyp:=15;
TfrMemoView(v).Font.Name:='宋体';
TfrMemoView(v).Font.Size:=11;
TfrMemoView(v).Alignment:=10;
TfrMemoView(v).Memo.Text:='内容';
但在3.0以上编译就通不过了 :(
请问如何解决?谢谢!
 
var
LFXMCOM:TfrxMemoView;
LFXPCOM:TfrxReportPage;
……
begin

TfrxComponent(LFXPCOM):=frxReport1.FindObject('PageHeader1');
LFXMCOM:=TfrxMemoView.Create(Self);
LFXMCOM.Name:='m'+(CheckCol(_I));
LFXMCOM.Memo.add('[name'+(CheckCol(_I))+']');
LFXMCOM.HAlign:=haCenter;
LFXMCOM.SetBounds(_Bleft,_BTop,Qwidth,QHeight);
LFXMCOM.Parent:=LFXPCOM;
LFXMCOM.Frame.Typ:= [ftLeft,ftRight,ftTop,ftBottom];
end;
 
非常感谢,这是我写的程序:
procedure TForm1.Button1Click(Sender: TObject);
var
LFXMCOM:TfrxMemoView;
LFXPCOM:TfrxReportPage;
begin
TfrxComponent(LFXPCOM):=frxReport1.FindObject('Page1');
LFXMCOM:=TfrxMemoView.Create(Self);
LFXMCOM.Parent:=LFXPCOM;
LFXMCOM.HAlign:=haCenter;
LFXMCOM.VAlign:=vaCenter;
LFXMCOM.Frame.Typ:= [ftLeft,ftRight,ftTop,ftBottom];
LFXMCOM.SetBounds(100,100,100,30);
LFXMCOM.Memo.Text:='内容';
frxreport1.ShowReport(true);
end;
但现在还有一个问题,就是如何在 frxreport1 增加一页?
这是 fastreport 2.X 的语句:frReport1.Pages.Add;
现在不能用了。
 
一样的。你在前面声明一个LFXPCOM:TfrxReportPage;的就好了
 
能不能具体一点? :)
 
就是在上面的例子中如何修改,使得在 frxreport1 中增加新的一页 Page2。
非常感谢!
 
procedure TForm1.Button1Click(Sender: TObject);
var
LFXMCOM:TfrxMemoView;
LFXPCOM:TfrxReportPage;
LFXRCOM:TfrxReportComponent;
begin
TfrxComponent(LFXPCOM):=frxReport1.FindObject('Page1');
LFXMCOM:=TfrxMemoView.Create(Self);
LFXMCOM.Parent:=LFXPCOM;
LFXMCOM.HAlign:=haCenter;
LFXMCOM.VAlign:=vaCenter;
LFXMCOM.Frame.Typ:= [ftLeft,ftRight,ftTop,ftBottom];
LFXMCOM.SetBounds(100,100,100,30);
LFXMCOM.Memo.Text:='内容';
TfrxComponent(LFXRCOM):=frxReport1.FindObject('Repeort');
LFXPCOM:TfrxReportPage.Create(Self);
LFXPCOM.Parent:LFXRCOM;
LFXPCOM.name:='Page2';
frxreport1.ShowReport(true);
end;
 
实在不好意思,运行后没有出现 Page2 :(
procedure TForm1.Button1Click(Sender: TObject);
var
LFXMCOM:TfrxMemoView;
LFXPCOM:TfrxReportPage;
LFXRCOM:TfrxReportComponent;
begin
TfrxComponent(LFXRCOM):=frxReport1.FindObject('Report');
LFXPCOM:=TfrxReportPage.Create(Self);
LFXPCOM.Parent:=LFXRCOM;
LFXPCOM.name:='Page2';
TfrxComponent(LFXPCOM):=frxReport1.FindObject('Page2');
LFXMCOM:=TfrxMemoView.Create(Self);
LFXMCOM.Parent:=LFXPCOM;
LFXMCOM.HAlign:=haCenter;
LFXMCOM.VAlign:=vaCenter;
LFXMCOM.Frame.Typ:= [ftLeft,ftRight,ftTop,ftBottom];
LFXMCOM.SetBounds(100,100,100,30);
LFXMCOM.Memo.Text:='内容';
frxReport1.ShowReport(True);
end;

 
不好意思,是我有误了!
procedure TForm1.Button1Click(Sender: TObject);
var
LFXMCOM:TfrxMemoView;
LFXPCOM:TfrxReportPage;
LFXRCOM:TfrxReportComponent;
begin
LFXPCOM:=TfrxReportPage.Create(Self);
LFXPCOM.Parent:=frxReport1;
LFXPCOM.name:='Page2';
LFXMCOM:=TfrxMemoView.Create(Self);
LFXMCOM.Name:='memo1';
LFXMCOM.Memo.add('内容');
LFXMCOM.Parent:=LFXPCOM;
LFXMCOM.HAlign:=haCenter;
LFXMCOM.VAlign:=vaCenter;
LFXMCOM.Frame.Typ:= [ftLeft,ftRight,ftTop,ftBottom];
LFXMCOM.SetBounds(100,100,100,30);

frxReport1.ShowReport(True);
end;
 
十分感谢!!!
请问现在哪有这方面的参考书?
 
完整的程序:
procedure TForm1.Button1Click(Sender: TObject);
var
LFXRCOM:TfrxReport;
LFXPCOM:TfrxPage;
LFXMCOM:TfrxMemoView;
LFXSCOM:TfrxShapeView;
begin
frxReport1.Clear;
LFXPCOM:=TfrxReportPage.Create(Self);
LFXPCOM.Parent:=frxReport1;
LFXMCOM:=TfrxMemoView.Create(Self);
LFXMCOM.Parent:=LFXPCOM;
LFXMCOM.HAlign:=haCenter;
LFXMCOM.VAlign:=vaCenter;
LFXMCOM.Frame.Typ:= [ftLeft,ftRight,ftTop,ftBottom];
LFXMCOM.SetBounds(100,100,100,30);
LFXMCOM.Memo.Text:='1234567890';
LFXSCOM:=TfrxShapeView.Create(Self);
LFXSCOM.Parent:=LFXPCOM;
LFXSCOM.SetBounds(100,100,100,30);
LFXSCOM.Shape:=skDiagonal2;
LFXSCOM.Frame.Width:=0.5;
LFXPCOM:=TfrxReportPage.Create(Self);
LFXPCOM.Parent:=frxReport1;
LFXMCOM:=TfrxMemoView.Create(Self);
LFXMCOM.Parent:=LFXPCOM;
LFXMCOM.HAlign:=haCenter;
LFXMCOM.VAlign:=vaCenter;
LFXMCOM.Frame.Typ:= [ftLeft,ftRight,ftTop,ftBottom];
LFXMCOM.SetBounds(100,100,100,30);
LFXMCOM.Memo.Text:='内容';
LFXSCOM:=TfrxShapeView.Create(Self);
LFXSCOM.Parent:=LFXPCOM;
LFXSCOM.SetBounds(100,100,100,30);
LFXSCOM.Shape:=skDiagonal1;
LFXSCOM.Frame.Width:=0.5;
frxReport1.ShowReport(true);
end;
 

Similar threads

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