Как поместить текст в frMemoView?

отредактировано 01:27 Раздел: FastReport 3.0
Нужно поместить большой кусок текста в frMemoView заданного размера.Как определить - помещается ли текст в frMemoView,чтобы например, можно было бы уменьшить шрифт:
if НЕ_ПОМЕЩАЕТСЯ then
myFrMemoView.Font.Size:=myFrMemoView.Font.Size-1;

Комментарии

  • отредактировано 01:27
    В 3.0 - пока никак.
  • отредактировано 01:27
    Спасибо,AlexTZ ;) ,но меня интересует не встроенная функция.Функция определяющая - влезет ли текст в прямоугольник у меня есть,но одним из ее параметров является прямоугольник TRect.Как мне определить размер этого прямоугольника для frMemoView в обработке события MyFrReport.OnBeginBand ,т.е. например
    var Size:TRect
    Size.Left:=0;
    Size.Top:=0;
    Size.Right:= для QuickReport аналог QRLabel.Size.Width
    Size.Bottom:=для QuickReport аналог QRLabel.Size.Height
    ВЫЗОВ_ФУНКЦИИ


  • отредактировано 01:27
    В 3.0 текстовые объекты рисуются в режиме WYSIWYG, т.е. распечатка на принтере будет выглядеть абсолютно аналогично тому, что видно на экране (с точностью до пиксела). Ваша ф-я наверняка это не учитывает. Поэтому легче использовать ф-ю TfrxMemoView.CalcWidth, которая вернет нужный размер.

    Подключить функцию к FR3 можно так:
    function TForm1.MyFunc(s: String; i: Integer): Boolean; 
    begin 
    // нужная логика 
    end; 
    
    procedure TForm1.MyProc(s: String); 
    begin 
    // нужная логика 
    end; 
    
    function TForm1.frxReport1UserFunction(Instance: TObject; ClassType: TClass; const MethodName: String; var Params: Variant): Variant; 
    begin 
      if MethodName = 'MYFUNC' then 
        Result := MyFunc(Params[0], Params[1]) 
      else if MethodName = 'MYPROC' then 
        MyProc(Params[0]); 
    end; 
    
      frxReport1.AddMethod('function MyFunc(s: String; i: Integer): Boolean'); 
      frxReport1.AddMethod('procedure MyProc(s: String)'); 
    
    
  • отредактировано 01:27
    Спасибо,AlexTZ ;)

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.