Как мне создать диалог прекращения печати при работе с
TPrinter?
Создайте форму с кнопкой "Abort". Обработчик нажатия кнопки должен вызывать
Printer.Abort.
Теперь, при запуске печати, вам необходимо показать этот диалог в немодальном
режиме методом Show(). Тем не менее, перед показом диалога необходимо
деактивировать главную форму приложения, например так:
Application.MainForm.Enabled := false;
AbortDlg.Show;
{ Здесь код печати }
AbortDlg.Close;
Appliction.MainForm.Enable := true;
|
Имейте в виду, что для правильной логики работы необходимо проверять значение
свойства Printer.Aborted. Если пользователь нажал кнопку прекращения печати, эта
переменная укажет о необходимости выхода из подпрограммы печати. Но здесь есть
небольшой подвох. Printer.Abort предполагает прерывание печати вызовом функции
WinProcs.AbortDoc(), но он не делает этого (по крайней мере в Delphi 1).
Следовательно, исправляя ошибку Borland, вы должны это делать сами в ответ на
нажатие кнопки Abort (в обработчике события onClick).
|