求救!!!!!!!FastReport.Memo的數值超過邊界自動減少字體大小,直到字數正好全部打印出來。
 在銑等待!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    在unit FR_Class中更改这个过程就行了
    procedure TfrEMFPages.ObjectsToPage(Index: Integer);
    var 
      p:  PfrPageInfo;
      b: Byte;
      t: TfrView;
      s: String;
    begin
      p := FPages[Index];
      with p^ do
      begin
    //    if Page <> nil then
    //      Page.Free;
       if Page = nil then
       begin
        Page := TfrPage.Create(pgSize, pgWidth, pgHeight, pgBin, pgOr);
        Page.pgMargins := pgMargins;
        Page.UseMargins := UseMargins;
        CurPage := Page;
        Stream.Position := 0;
        Stream.Read(frVersion, 1);
        while Stream.Position < Stream.Size do
        begin
          Stream.Read(b, 1);
          if b = gtAddIn then
            s := ReadString(Stream) else
            s := '';
          t := frCreateObject(b, s);
          t.StreamMode := smFRP;
          t.LoadFromStream(Stream);
          t.StreamMode := smFRF;
          if (t is TfrMemoView) and ((t.Flags and flAutoSize) <> 0) then
            t.Draw(TempBmp.Canvas);
          //////在这里判断并更改,偶已经实现了
          Page.Objects.Add(t);
        end;
       end;
      end;
    end;