Хочу не печататть вторую страницу

отредактировано 01:24 Раздел: FastReport 4.0
В отчете два TfrxReportPage. После печати (именно печати на принтер, а не в превью) Page1 надо, в зависимости от выбора пользователя, печатать или не печать Page2. В принципе знаю, что печать страниц можно отловить по событию TfrxReport.OnPrintPage, но ни как не могу выципить не имена, ни чего другого что могло бы идентифицировать печатуюмую страницу, что бы перед ее печатью вывести диалог с выбором печать или нет.

Комментарии

  • отредактировано 01:24
    В PrintOptions отчета укажи PrintPages
    ppAll - все
    ppOdd - нечетные
    ppEven - четные,
    если конечно страниц только две...

    или
    var
    Page: TfrxReportPage;
    begin
    Page := TfrxReportPage(frxReport1.Pages[1]);
    и дальше поиграться со свойствами страницы...
  • отредактировано 01:24
    Ubik77 написал: »
    В отчете два TfrxReportPage. После печати (именно печати на принтер, а не в превью) Page1 надо, в зависимости от выбора пользователя, печатать или не печать Page2. В принципе знаю, что печать страниц можно отловить по событию TfrxReport.OnPrintPage, но ни как не могу выципить не имена, ни чего другого что могло бы идентифицировать печатуюмую страницу, что бы перед ее печатью вывести диалог с выбором печать или нет.

    а можно завети переменную и в зависимости от ее значения печатать ту или иную страницу
    begin
         IF <NUMBERPAGE> = 1 THEN
           Page2.Visible := fALSE
         ELSE
           Page1.vISIBLE := fALSE;                                                                
    end.
    

    значение переменной присваивать в событии OnGetValue
  • отредактировано September 2008
    написал:
    а можно завети переменную и в зависимости от ее значения печатать ту или иную страницу

    Нет... В превью она должна быть. Дело в том, что Page2 - это обратная сторона полиса. Принтеров с двухсторонней печатью нет. Поэтому нужно приостановить печать, что бы операционист перевернул лист и запустил печать обратной стороны, нажав ОК на появившемся диалоге (диалог должен появляться между печатью НА ПРИНТЕР первой и второй страницы).
  • mvbmvb Казань
    отредактировано 01:24
    дык если в принтере не будет бумаги он и так ждать будет
  • отредактировано September 2008
    написал:
    дык если в принтере не будет бумаги он и так ждать будет
    Гы :) ) Ну так потом еще приложение к полису печататься должно, а подкладывать каждый раз бумагу не удобно, задача - максимум сократить время оформления полиса.
    Люди в общем как мне отловить, что вторая страница в принтер собирается уходить.

    TfrxReport.OnPrintPage(Page: TfrxReportPage; CopyNo: Integer);
    Вот не пойму, вроде событие срабатывает перед печатью каждой страницы, но какой толк от аргумента Page, если им выловить не чего нельзя?

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

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