Предмет: Информатика, автор: ilyaKZ

Delphi 7. Возник вопрос. Я пишу программу, где возникает сразу несколько MessageDlg. Ну что-то типа вируса, но с благородными целями(не подумайте плохо). Разумеется надо как-то выйти/закрыть программу. Я например делал onKeyDown на форме( if key=40 then close). Так же делал вместо close использовал halt. не получалось т.к. messageDlg как будто берет управление на себя.

Вопрос: как осуществить выход из программы посредством нажатия клавиши? Идеально было бы конечно реагировать на комбинацию клавиш. 

Ответы

Автор ответа: roperd
0

Насколько я знаю в любой сборке Delphi есть компонент "Application Events", у которго есть соответствующее событие "OnShortCut", так вот разместите на форме данный компонент (в 7 версии Delphi он должен лежать во вкладке "Additional") и запишите в его свостве OnShortCut следующее:

procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean);
begin
If Msg.CharCode = Ord('G') then
Form1.Close;
end;

Ord('G') - функция возвращающая код символа, в её параметр записывайте непосредственно тот символ, по нажатию которого должна прекратить работу ваша программа.

Похожие вопросы
Предмет: Русский язык, автор: nnastya0407
Предмет: Математика, автор: marishadyatlovskaya
Предмет: Математика, автор: Керж