![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать закрытие формы по нажатию 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