一个关于fastreport的问题,各路fastreport高手指点指点指点指点!(进来看看..谢谢您!)(150分)

  • 主题发起人 主题发起人 superpage
  • 开始时间 开始时间
S

superpage

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了个函数动态的生成page,band,memo等等,然后利用这个函数做出一个报表,在一个button的
onclick事件中调用了这个函数以及生成打印预览,设计该报表时我将memo的width的值都用具体数
值定死了.(因为取page.width时显示都是380,也就是说取不出打印页的宽度,一火大就定死算了)
以前一直没有考虑到打印纸张的设置(如横向打印,改变打印纸张的大小等),现在需要有这种设置
就不知该从何下手了,各路高人是否知道怎么在打印预览的时候对纸张进行了设置后将纸张大小
(宽度,长度)数值传到我的那个函数中去,让其重新生成一个打印预览页面后打印?
罗嗦了这么多,也不知道把问题表达清楚了没有,唉,就这样了吧...
请指教指教...
谢---谢---了---
 
我觉得FastReport的最大特点就是能让最终用户修改报表。
你这样做是不是舍近求远?
 
随便了,给个答案先好不好?
 
1.设置纸张(纸张定义可参考fr_prntr单元)
frReport1.Pages[0].ChangePaper(13, 0, 0, 0, poPortrait);
2.取得页面信息
pgMargins: TRect;
边距信息
frReport1.Pages[0].PrnInfo.Pgw: 纸张宽度(以像素表示)
frReport1.Pages[0].PrnInfo.Pgh 纸张高度
frReport1.Pages[0]pgOr: TPrinterOrientation;
横向竖向
 
哎呀,不是这个意思啦
我的意思是说在生成打印预览之后,对页面进行设置,如把纵向改成横向,A4改成A5(默认的是
纵向,A4)然后能不能再取得这些纸张的width,height等属性,将这些属性传入我的函数,重新
生成预览页面,进行打印?
谢谢了!
 
你试试在begin
Doc事件中,用if page.pgor = ?page.prninfo.pgw = ? page.prinfo.pgh取得
所需的数据.或是在onManualBuild事件中取.
 
在Onbegin
Doc事件中,不就可以取得各种属性了吗。
 
预览页面是通过一个函数生成,设置页面是在预览以后,预览后的设置如页面width呀height呀
(用这些数值来定位一些memo)需要传给生成页面函数,让其再生成一次,再把以前的预览页面K掉
怎么弄弄?
 
多人接受答案了。
 
后退
顶部