Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: 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 вся ветка

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
1-7377
Johny B.
2003-06-20 07:05
2003.07.03
ActiveX


3-7320
Aleksandr
2003-06-09 16:31
2003.07.03
Как корректно добавить калькулироемое поле?


7-7726
Ihor Osov'yak
2003-04-21 20:15
2003.07.03
DeviceIoControl,METHOD_BUFFERED и данные по поинтеру Win32,


14-7672
Palladin
2003-06-16 21:57
2003.07.03
подскажите ссылку на


1-7533
Mishenka
2003-06-22 03:02
2003.07.03
Как иконку засунуть в ImageList?