Проблема с QuickReport...
Я создал отчёт для QuickReport'a (не через БД, а сам, через событие OnNeedData), просматриваю его с помощью Preview-метода - всё хорошо. Настраиваю принтер соотв-вующей кнопкой и проч - тоже работает.
НО! При нажатии на кнопку Печатать (такая маленькая, сволочь, с принтером без гаечного ключа :) - выскакивает окошко Progress (с нулевым прогрессом) быстро что-то моргает и закрывается - типа, "Я напечатал". А документ в очереди на печать даже не появлялся. Как быть?
После полудня метаний по И-нету и копаний в pdf-ах нашёл и проверил такой ход
ReportForm.FlawReport.Prepare;
ReportForm.FlawReport.QRPrinter.Print;
ReportForm.FlawReport.QRPrinter.Free;
ReportForm.FlawReport.QRPrinter := nil;
- это работает, но это ведь всегда печатает и без всякого диалог-окошка.
Так что второй вариант требует знаний - как перехватить нажатие на кнопку Print у компонента QuickReport - чтобы самому в нужный момент распечатать то что нужно???
Заранее огромное Thanks!
ты ведь можешь зная хэндл окна найти нужную кнопку
и сменить ей обработчик он_принт, я так думаю.
Цитата:
Originally posted by weiss
ну уж если так извращаться, то...
ты ведь можешь зная хэндл окна найти нужную кнопку
и сменить ей обработчик он_принт, я так думаю.
ну уж если так извращаться, то...
ты ведь можешь зная хэндл окна найти нужную кнопку
и сменить ей обработчик он_принт, я так думаю.
Ага, возможно и так, но я не знаю, как имея Handle - найти у него кнопку, которая появляется только в run-time (у QuickReport - в его Preview-ре), вернее даже не у него, а у какого-то другого окна, которое генерируется QuickReport'ом (если я правильно понял механизм генерации)...
Может более подробно объясните?
перебираешь все child объекты у этого окна и проверяешь класс_нэйм. если тбаттон - значит кнопка.
Цитата:
Originally posted by weiss
не думаю, что это правильный путь, но если уж так хочется...
перебираешь все child объекты у этого окна и проверяешь класс_нэйм. если тбаттон - значит кнопка.
не думаю, что это правильный путь, но если уж так хочется...
перебираешь все child объекты у этого окна и проверяешь класс_нэйм. если тбаттон - значит кнопка.
Тоже мысль есть - что такой метод - не есть хорошо.
Дело в том, что...
1) К этому окну ещё добраться надо - оно ведь создаётся компонентом автоматически, и как до него добраться - мне неизвестно. Компонент просто так Handle private детища своего не отдаст.
2) Даже получив этот Handle - кнопок-то у формы много - и Caption - разные(в зависимости от языка) - как найти нужную....??