FastReport能不能遍历所有的Memo

schinar 2013-06-25 10:40:05
相同的打印报表文件在不同的打印下打出的效果不一样,有的偏左,有的偏右。
为了能让报表文件适应不同型号的打印机。我想做一个参数设置功能,可以设置报表的左边距。
那是不是就意味着要修改frf文件中每一个Memo的X属性值。但报表文件是动态装入的,程序需要知道报表文件中有多少个Memo,然后一个一个向左或向右移动。
fastReport如何能遍历所有的Memo呢?
...全文
339 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
看那山瞧那水 2013-06-26
  • 打赏
  • 举报
回复

          p:=TfrxReportPage(frxrptFitting.Pages[1]);
          p.PaperSize:=aPaperID;
          if PaperSelFitting = psCustum then  //自定义大小
          begin
            p.PaperWidth:=PaperSizeFitting.Width;
            p.PaperHeight:=PaperSizeFitting.High;
          end;
          //边距
          p.TopMargin:=PageMarginFitting.Top;
          p.LeftMargin:=PageMarginFitting.Left;
          p.RightMargin:=PageMarginFitting.Right;
          p.BottomMargin:=PageMarginFitting.Bottom;
          //方向
          p.Orientation:=PageDirectFitting;

类似这样设置,注意页序号是从1开始,如果是标准页大小只要设置PaperSize=DMPAPER_A4,如果是自定义大小,PaperSize:=DMPAPER_USER(表示自定义纸张),然后设置PaperWidth和PaperHeight
babydog01 2013-06-26
  • 打赏
  • 举报
回复
或者在调出设计期,更改报表左右边距。要放一个设计控件在页面上。 self.frxReport1.DesignReport(true);
babydog01 2013-06-26
  • 打赏
  • 举报
回复
只要改变报表的左边界就可以了。 TfrxReportPage(frxReport1.FindObject('page1')).LeftMargin :=30;//page1为你报表页名称,单位为MM

5,392

社区成员

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

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