Изменять размер шрифта в Memo

отредактировано 19:28 Раздел: FastReport 4.0
Помогите, не получается изменять размер шрифта на все строки поля мемо
Передаю в поле строки из стринглиста. Нужно изменять шрифт в зависимости от кол-ва строк.
такой код не работает
if Memo3.Lines.Count>=5 then
Memo3.Font.Size:=15
else
Memo3.Font.Size:=10;
что не пробовал либо не изменяет вовсе либо изменяет шрифт элемента с последующими
Подскажите что я не так делаю..

Комментарии

  • отредактировано January 2010
    Вам это нужно сделать из скрипта или из кода Delphi?

    Из скрипта это можно сделать примерно так:
    var
      strs: TStringList;
      str: string;                             
      i: integer;                               
    begin
      strs := TStringList.Create();
      for i := 0 to 7 do
      begin
        str := 'String ' + IntToStr(i);
        strs.Add(str);                                  
      end;
      for i := 0 to 7 do      
        Memo1.Lines.Add(strs.Strings[i]);
      if Memo1.Lines.Count >= 5 then
        Memo1.Font.Size := 15
      else
        Memo1.Font.Size := 10;
    end.
    
    Посмотрите в прикрепленном отчете.
    procedure TForm1.Button1Click(Sender: TObject);
    var
      strs: TStringList;
      str: string;
      i: integer;
      count: integer;
      memo: TfrxMemoView;
    begin
      frxReport1.ShowReport(true);
      strs := TStringList.Create();
      count := 7;
      for i := 0 to count do
      begin
        str := 'string ' + IntToStr(i);
        strs.Add(str);
      end;
      memo := frxReport1.FindObject('Memo1') as TfrxMemoView;
      for i := 0 to count do
      begin
        memo.Lines.Add(strs.Strings[i]);
      end;
      if memo.Lines.Count >= 5 then
        memo.Font.Size := 15
      else
        memo.Font.Size := 10;
      frxReport1.ShowReport(true);
    end;
    
  • отредактировано January 2010
    Спасибо огромное!! Вроде бы получилось!!
    Я наверное неправильно выразился. Я делал все операции из кода, но когда появилась необходимость динамически изменять шрифты начал делать это скриптом.
    Все получилось, еще раз спасибо!! Мне не хватало вот этой строчки для счастья))
    memo := frxReport1.FindObject('Memo1') as TfrxMemoView;

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

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