怎样在运行时调整Rave报表中Region的位置?
小弟用RAVE设计了一个报表,一切都好,可是在不同的打印机中打印出来的版心位置略有
偏差,结果在有些打印机上没法使用,以往用QuickReport可以运态设置Page.LeftMargin
的数值来调整,可是在RAVE上怎么办呢? 哪位大哥指点一二,小弟不胜感激(有些用户用的是激光打印机,从纸盒进纸,没法子在装纸时移动纸张的位置)

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1743/1743788.xml?temp=.1435511
      

  2.   

    uses
      RVClass, RVProj, RvCsRpt;...procedure PrintTjb(MyTopMargin,MyLeftMargin:Integer);
    var
      MyPage: TRavePage;
      MyRegion: TRaveRegion;
    begin
      with dmMain.rvpMain do
      begin
        if (MyTopMargin<>-1) or (MyLeftMargin<>-1) then
        begin
          with ProjMan do
          begin
            MyPage:=FindRaveComponent('rpTjb.Page1',nil) as TRavePage;
            MyRegion:=FindRaveComponent('Region1',MyPage) as TRaveRegion;
            if MyRegion<>nil then
            begin
              MyRegion.Top:=MyTopMargin/25.4;
              MyRegion.Left:=MyLeftMargin/25.4;
            end;
          end;
        end;
        if SelectReport('rpTjb',False) then
          Execute;
      end;
    end;