![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый день, подскажите пожалуйста, можно ли сделать закрытие активной формы по нажатию на кнопку клавиатуры "Esc". Если возможно, поделитесь кодом пожалуйста.
|
#2
|
||||
|
||||
![]() Да, можно.
Событие OnKeyDown. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
DOR (25.03.2013)
|
#3
|
|||
|
|||
![]() Добавлю:
1. Если форма модальная и на ней есть кнопка, которая закрывает форму, то можно у этой кнопка выставить свойство Cancel. 2. Если форма не модальная, то тут есть варианты. Первый, как уже сказали, OnKEyDown (можно просто OnKeyPress, код #27), толко желательно еше выставить форме свойство KeyPreview. Можно сделать Action с горячей клавишей Esc. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
DOR (25.03.2013)
|
#4
|
|||
|
|||
![]() а какой Key у Esc?
з.ы. написал позже предыдущего сообщения форма модальная, написал так Код:
procedure Tf_Otdel.FormKeyPress(Sender: TObject; var Key: Char); begin if key = #27 then begin Close; end; end; Последний раз редактировалось M.A.D.M.A.N., 25.03.2013 в 20:26. |
#5
|
||||
|
||||
![]() VK_ESCAPE
Это не чат, блин!!! Хватит плодить сообщения, есть кнопка "Правка". — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#6
|
||||
|
||||
![]() Цитата:
Код:
procedure TForm1.FormCreate(Sender: TObject); begin Form1.KeyPreview:= true; end; procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if Key = VK_ESCAPE then Close; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin AnimateWindow(Handle, 500, AW_HIDE or AW_BLEND); end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |