Консультация № 68514
25.12.2006, 13:44
0.00 руб.
0 4 4
Как сделать так чтоб при нажатии ESC активная форма закрывалась?

Обсуждение

Неизвестный
25.12.2006, 14:00
общий
это ответ
Здравствуйте, Negruzzi Cristian!

1.У формы установить Property KeyPreview:=true;
2.У формы в событии OnKeyDown написать следующий код:

if KEY=VK_ESCAPE then Close;

Удачи!!!
Неизвестный
25.12.2006, 14:04
общий
это ответ
Здравствуйте, Negruzzi Cristian!
Создаете событие нажатия на кнопку для формы onKeyUpp например. И в нем проверяете код нажатой клавиши, код ESC если не ошибаюсь 27.

Приложение:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);begin if Key=27 then close;end;
Неизвестный
25.12.2006, 14:10
общий
это ответ
Здравствуйте, Negruzzi Cristian!
1.В свойствай формы поставь Key Preview:=true;
2.В OnKeyPress напиши: if (Key=vk_Escape) then close;
3.Вот и все, не благодари! :-)
Неизвестный
25.12.2006, 14:58
общий
это ответ
Здравствуйте, Negruzzi Cristian!

Можно использовать обработчик событий формы
FormKeyDown или FormKeyPress.

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_ESCAPE then Form1.Close; // в зависимости какую активную форму
//закрывать, пишите имя этой формы
end;

или

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#27 then Form1.Close; // в зависимости какую активную форму
//закрывать, пишите имя этой формы
end;

Удачи!
Форма ответа