Delphi 7. возник вопрос. я пишу программу, где возникает сразу несколько messagedlg. ну что-то типа вируса, но с благородными целями(не подумайте плохо). разумеется надо как-то выйти/закрыть программу. я например делал onkeydown
на форме( if key=40 then close). так же делал вместо close использовал halt. не получалось т.к. messagedlg как будто берет на себя. вопрос: как осуществить выход из программы посредством нажатия клавиши? идеально было бы конечно
реагировать на комбинацию клавиш.

dimoncool67 dimoncool67    3   10.03.2019 07:20    3

Ответы
Dirolling Dirolling  24.05.2020 15:13

Насколько я знаю в любой сборке 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') - функция возвращающая код символа, в её параметр записывайте непосредственно тот символ, по нажатию которого должна прекратить работу ваша программа.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика