создать программно Onbeforeprint

отредактировано 22:18 Раздел: FastReport VCL
в Delphi программно добавляю MemoView

MyMemo := TfrxMemoView.Create(MyPageFooter);
with MyMemo do
begin
Name := 'Muster_PageNr';
Text := '[Page#] / [TotalPages#]';
OnBeforePrint := 'Muster_PageNrOnBeforePrint'
end;

как программно добавить Muster_PageNrOnBeforePrint?

Комментарии

  • gpigpi
    отредактировано 22:18
    Добавьте в TfrxReport.ScriptText
  • отредактировано September 2018
    gpi написал: »
    Добавьте в TfrxReport.ScriptText
    with frxReport.ScriptText do
      begin
        Add('procedure Muster_PageNrOnBeforePrint(Sender: TfrxComponent);');
        Add('begin');
        Add('   if <TotalPages#> = 1 then');
        Add('     Muster_PageNr.Visible := False;');
        Add('end;');
      end;
    
      MyMemo := TfrxMemoView.Create(MyPageFooter);
      with MyMemo do
      begin
        Name := 'Muster_PageNr';
        Text := 'Seite [Page#] von [TotalPages#] ';
        OnBeforePrint := 'Muster_PageNrOnBeforePrint'
      end;
    

    Проверил.
    Код добавляется, но не работает (при печати только 1 страници текст отображается).

    PS. FR FMX2

    PPS. увидел разницу в скриптах:
    если добавить в дезайнере, то код попадает ДО "begin end"
    если програмно, то после
  • gpigpi
    отредактировано 22:18
    Используйте Insert вместо Add

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

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