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

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

ALT+F4 [D6, Win2k]


Новичок!!! ©   (2004-11-07 10:09:00) 

Пожалуйста, подскажите, как сделать так, чтобы форма не закрывалась по ALT+F4? Под все версии Windows!


Piter   (2004-11-07 22:22:00) [1]

Ну если нужно чтобы вообще не закрывалась, ни по ALT+F4, ни по крестику, то тогда как сказали обработка OnCloseQuery:

CanClose := False;


Anatoly Podgoretsky   (2004-11-07 20:28:00) [2]

Меню у формы или TActionList есть, если есть, то надо назначить эту комбинацию пункту меню и пустой обработчик.


Step[B.M.]   (2004-11-07 20:14:00) [3]

OnCloseQuery

Abort;


Cardinal   (2004-11-07 17:47:00) [4]


> Да, еще забыл, что надо создать глобальную булевую переменную
> b с начальным значением false:

Ошибочка вышла, поспешил :-(. Начальное значение равно true .


Cardinal   (2004-11-07 17:44:00) [5]

Да, еще забыл, что надо создать глобальную булевую переменную b с начальным значением false:
b: boolean = true;


Cardinal   (2004-11-07 17:42:00) [6]

Если требуется, чтобы по клику на крестику форма закрывалась, а по Alt + F4  - нет, то выставим Form1.KeyPreviewв true.
Затем в обработчике OnKeyDown пишем:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
if (key = VK_F4) and (Shift = [ssAlt]) then b := false;
end;


А в обработчике события OnCloseQuery так:

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
canclose := b;
b := true;
end;


KSergey   (2004-11-07 10:22:00) [7]

OnCloseQuery?


Плохиш   (2004-11-07 10:19:00) [8]

OnCloseQuery + F1


Наверх

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