СообЧа > База Знаний > Программирование > Delphi

Вопрос

Как в Delphi5 перехватить нажатие ALT+F4 так, чтобы при этом появлялась форма с вопросом «Хотите сохранить файл?» с тремя кнопками: «да», «нет», «отмена»? Варианты такие:

  1. Если нажата кнопка «отмена», то приложение остается, форма с вопросом закрывается.
  2. Если нажата кнопка «нет», то приложение закрывается и больше никаких форм не появляется.
  3. Если нажата кнопка «да», то появляется еще одна форма — диалог сохранения файла (диалог я сам сделаю).

Ответ

Повесь на OnCloseQuery следующее:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
Var Res: integer; begin Res:=MessageBox(Handle, 'Были произведены изменения. Сохранить?',
'Предупреждение', MB_YESNOCANCEL or MB_ICONQUESTION);
If Res=IDCANCEL then begin // Выбрана отмена, запрещаем завершение
CanClose:=False; exit; end; If Res=IDYES then begin // Здесь сохраняем изменения MessageBox(Handle, 'Изменения сохранены', '',
MB_OK or MB_ICONINFORMATION); end; // Завершение программы
end;


Novikov Dmitry.



Copyright © 2000-2004 Сообщество Чайников
Контактная информация