Вниз
Скачать: CL | DM;

Alt+F4   Найти похожие ветки 

← →
mao ©   (2003-06-20 08:11) [0]

Как-то можно отключить срабатывание комбинации клавиш Alt+F4 в своей проге?


← →
pod   (2003-06-20 09:04) [1]

Попробуй обработать событие: OnCloseQuery


← →
pod   (2003-06-20 09:09) [2]

Ща точто скажу :эм, а вот держи:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := False;
end;


← →
Term   (2003-06-20 09:27) [3]

так он вообще форму не закроет


← →
Nucl ©   (2003-06-20 09:45) [4]

хуком на клаву
или если проще, на главной форме
KeyPreview в True
и на KeyDown отлавливаешь эти клавиши.


← →
Karluha   (2003-06-20 10:09) [5]

OnKeyDown попробуй обработать и Key := #0 сделать


← →
McSimm2   (2003-06-20 10:12) [6]


procedure TMainFrm.BitBtn2Click(Sender: TObject);
begin
MainFrm.Close;
end;

procedure TMainFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if messageDlg("Хотите выйти?",
mtConfirmation,[mbyes,mbno],0)=mryes then
Application.Terminate;
end;

procedure TMainFrm.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_F4) and (ssAlt in Shift)
then Close;
end;


← →
McSimm2   (2003-06-20 10:15) [7]

Аа-а-а, её не нужно закрывать.... тады так:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssAlt in Shift) and (Key=VK_F4) then Key:=0;
end;


← →
Karluha   (2003-06-20 10:18) [8]

McSimm2 - я може чего не понял, но наверное запрос о закрытии обычно делается в OnCanClose ?
А это:
procedure TMainFrm.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_F4) and (ssAlt in Shift)
then Close;
end;

ПРОИЗВЕДЕНИЕ ИССКУССТВА БЛИН
Зачем делать закрытие формы по Alt-F4, если форма и сама закроется :)


← →
Karluha   (2003-06-20 10:19) [9]

Сори. Снимается


← →
mao ©   (2003-06-20 10:23) [10]

Ок. Всем сенкью. Всё получилось. :)


← →
McSimm2   (2003-06-20 10:24) [11]

:)


← →
pauk   (2003-06-20 18:27) [12]

а исчо можна так:

public
procedure WM_SYSCOMMAND(var Message: TMessage);
Message WM_SYSCOMMAND;

procedure TForm1.WM_SYSCOMMAND(var Message: TMessage);
BEGIN
if message.WParam= 99999 then Exit
else inherited;
end;


← →
pauk   (2003-06-20 18:29) [13]

99999 надо разумеется заменить на необходимы код, который можно узнать, если перевести прогу в режим пошагового выполнения и иницировав этот самый Alt+F4


← →
pauk   (2003-06-20 18:46) [14]

Кстати, прога не будет закрываться не только по Alt+F4 по всем другим способам. Единственный способ - через диспетчер задач


← →
pod   (2003-06-21 03:31) [15]

Первое придложение мне кажется самое пушечное!
Потом ложиш на форму кнопку close на обработчик пишеш скажем

button3.enebled:=true;
close;

А на OnCloseQuery пишеш типа

if button3.enebled:=true then
CanClose := true;




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.012 c
1-7434
delphimun
2003-06-20 13:10
2003.07.03
Выполнение программы при открытии в данный момент модального окна


1-7379
Tayfun
2003-06-20 11:50
2003.07.03
Подскажите пожалуйста как добавить в EXУ файл текстовый ресурс?


14-7600
Weare
2003-06-17 16:18
2003.07.03
Работа с почтовой программой


1-7466
Fil
2003-06-20 16:15
2003.07.03
Копирование каталогов


3-7301
jambvi
2003-06-08 17:42
2003.07.03
Программно подключать базу на Access 2002....................




   Наверх