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