![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Закрытие формы при нажатии ESC
ser35 © (2005-03-14 10:52:00)Хочу, чтобы при нажатии клавиши закрылась форма. Сделал так:
procedure TForm13.FormKeyPress(Sender: TObject; var Key: Char);Не закрывается. Подскажите ошибку
begin
if key=#27 then Form13.Close; //Если эскейп, то закрываю
end;
Gero (2005-03-14 14:14:00) [1]
> автор так написал: "Хочу"
А автору намекнули, что, скорее всего, у него неверно реализован пользовательский интерфейс.
XP (2005-03-14 13:26:00) [2]Не всякая форма закрывается по Esc.
В контексте данной ветки - закрывается по Esc, потому что автор так написал: "Хочу".
И о кнопках не сказал ничего. Ну совершенно ничего.
Чапаев (2005-03-14 13:17:00) [3]> P.P.S. Повторюсь: не всякая форма имеет кнопки (TButton и иже с ними).
Не всякая форма закрывается по Esc.
XP (2005-03-14 12:33:00) [4]Я пытался вспомнить хоть одну форму без кнопок - не смог.
Это как-то называется. Только вот как? Не могу вспомнить.
А по поводу двух кнопок - пытался найти в окне Internet Explorer, окнах документов Word, Excel, в Проводнике, опять же, кнопки "Отмена" и "Нормальное завершение" - не нашел.
Есть только "Закрыть" в все том же правом верхнем углу, да еще "Закрыть" в меню, которое дублирует кнопку.
Может, в этих программах не предусмотрены действия или ввод?
Ну, тогда другое дело...
P.S. Дайте салфетку - очки протру, что ли?
P.P.S. Повторюсь: не всякая форма имеет кнопки (TButton и иже с ними).
Gero (2005-03-14 12:21:00) [5]
> Я пытался вспомнить хоть одну форму без кнопок - не смог.
Debug Windows, например.
Да и форма может быть главной и закрываться при нажатии Esc.
Тогда, конечно, применяют другие методы, но все же.
Anatoly Podgoretsky (2005-03-14 12:17:00) [6]XP (14.03.05 11:34) [8]
Странные у тебя формы от Microsoft и Borland, у меня с кнопками, там где ввод или какие действия не предусмотренны, там одна кнопка. Я пытался вспомнить хоть одну форму без кнопок - не смог.
TUser (2005-03-14 12:04:00) [7]ActionList
XP (2005-03-14 11:34:00) [8]...нормальная форма должна иметь две кнопки - Отмена и Нормально завершение.
Жаль только, что ни в Microsoft, ни в Borland этого не знают. А то обязательно разместили бы на каждую форму эти "две кнопки". Пока додумались только до "Закрыть" в верхнем правом углу формы.
ser35 (2005-03-14 11:19:00) [9]Спасибо за советы!!!
Anatoly Podgoretsky (2005-03-14 11:17:00) [10]А не надо издеваться над пользователем.
Если нет, то добавить, нормальная форма должна иметь две кнопки - Отмена и Нормально завершение.
XP (2005-03-14 11:09:00) [11]Есть же соответсвующие свойства у кнопок, вот его надо и установить, а код выкинуть.
Не всякая форма имеет кнопки (TButton и иже с ними).
Anatoly Podgoretsky (2005-03-14 11:05:00) [12]Зачем?
Есть же соответсвующие свойства у кнопок, вот его надо и установить, а код выкинуть.
begin...end (2005-03-14 10:58:00) [13]
procedure TMyForm.Form KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_ESCAPE then Close
end
И не забудьте свойство KeyPreview формы установить в True.
wicked (2005-03-14 10:58:00) [14]procedure TForm13.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=VK_ESCAPE then Close; //Если эскейп, то закрываю
end;
Плохиш (2005-03-14 10:57:00) [15]Убрать Form13