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

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

Ответы 1

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

    procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey; var Handled: Boolean);beginIf Msg.CharCode = Ord('G') thenForm1.Close;end;

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

    • Автор:

      lightning
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years