Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать закрытие формы по нажатию Esc? [D7, XP]


vodvorezlaya ©   (2006-09-29 10:22:00) 

Доброго времени суток.

procedure TForm2.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (key=#27) then form1.Close;
end;


не работает когда на форме есть другие компоненты.

Как правильно сделать.

Спасибо.


ASoft   (2006-09-29 18:39:00) [1]

Чего вы фигню полную советуете [4]
зачем ж так опрометчиво :)  чел спросил как закрыть форму эскейпом и где видно, что в [0] Esc может быть многократно заюзана приложением в разных контекстах,
а говоря кажется, TForm2. - не главная форма, главная по всей видимости form1, что не есть гуд.
я имел в виду, нечто подобное этому: Давать Application.Terminate из неглавной формы - такая же хреновая манера, как


Elen   (2006-09-29 14:04:00) [2]


> Блин, советчики..

Добро пожаловать в клуб любителей посоветовать ... :D


MsGuns   (2006-09-29 14:00:00) [3]

Блин, советчики..
Чего вы фигню полную советуете ? Клавиша Esc может быть многократно заюзана приложением в разных контекстах, т.к. интуитивно "близка" пользователям.

Проблема с закрытием формы по нажатию Esc решается примитивным образом - через Action, в обработчике которого стоит проверка возможности закрытия формы (а тем более приложения) и, если можно, то Close главной формы.

И еще. Давать Application.Terminate из неглавной формы - такая же хреновая манера, как пИсать с балкона - типа пофиг кто там внизу.


Elen   (2006-09-29 10:28:00) [4]


> ASoft

+ к этому Тогда Application.terminate чтоб наверняка


ASoft   (2006-09-29 10:26:00) [5]

кажется, TForm2. - не главная форма, главная по всей видимости form1, что не есть гуд.... иначе..
эм, обработчик надо не FormKeyPress(), а FormKeyDown()..."key=27"


Elen   (2006-09-29 10:24:00) [6]

Выставь form1.keyPreview:=true


Наверх

Титульная страница Поиск, карта сайта Написать письмо