|
|
|
Forum Guru
      
участник
Last Login: 19.10.2006 11:41
Сообщ.: 71,
Visits: 653
|
|
Привет всем!
Братцы, выручайте, назреает проблемка...
В старом проекте есть предварительный просмотр того, что уйдёт на печать. Этот предварительный просмотр организован не как стандартный Делфовский, а в виде отдельной самодельной формы, с самодельными красивыми кнопочками и логотипом конторы.
Там есть кнопочка "Печать". Прицип работы такой: нажимаешь на эту кнопочку -- выпадает окно выбора и настоек принтера, выбираешь, настраиваешь --> жмёшь "OK" -- ушло задание на печать. Это всё работает.
Проблема: Если в окне настроек принтера юзер выбирает "Отмена", то это задание ВСЁ РАВНО уходит на печать...
В коде стоит проверка:
QRPrinter.PrintSetup;
if not QRPrinter.Cancelled then QRPrinter.Print;
НО даже если я нарисую так:
QRPrinter.PrintSetup;
QRPrinter.Cancelled := False;
if not QRPrinter.Cancelled then RPrinter.Print;
то задание ВСЁ РАВНО уйдёт на печать!..
То, что я нашел в Интернете:
http://timhome.hut.ru/delphi/myFAQ_Delphi02.htm#129
меня не устроило.
Братцы! Выручайте!
Я добавил было еще одну кнопочку "Настроить принтер" и разделил процессы выбора принтера и печати, но заказчик упёрся рогом и говорит что это его категорически не устраивает!
Как быть? Ведь я точно не первый с этой проблемой!
Я немецкий бы выучил только за то, что на нём поёт Till Lindemann!
|
|
|
|
|
Forum Guru
      
участник
Last Login: 19.10.2006 11:41
Сообщ.: 71,
Visits: 653
|
|
Извиняюсь, вкралаь ошибочка. Вместо куска
НО даже если я нарисую так:
QRPrinter.PrintSetup;
QRPrinter.Cancelled := False;
if not QRPrinter.Cancelled then RPrinter.Print;
то задание ВСЁ РАВНО уйдёт на печать!..
надо так:
QRPrinter.PrintSetup;
QRPrinter.Cancelled := True;
if not QRPrinter.Cancelled then RPrinter.Print;
Я немецкий бы выучил только за то, что на нём поёт Till Lindemann!
|
|
|
|
|
Supreme Being
      
участник
Last Login: 29.09.2007 22:12
Сообщ.: 343,
Visits: 3 388
|
|
| Жду вознаграждения по Western Union QuickRep1.PrinterSettings.PrinterIndex := -1; QuickRep1.PrinterSetup; I := QuickRep1.PrinterSettings.PrinterIndex; Button1.Caption := IntToStr(I); if QuickRep1.PrinterSettings.PrinterIndex=-1 then ShowMessage('Cancelled') else ShowMessage('Not Cancelled'); end
|
|
|
|