Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.16;
Скачать: CL | DM;

Вниз

Системная горячая клавиша   Найти похожие ветки 

 
Batus   (2004-12-30 20:14) [0]

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


 
begin...end ©   (2004-12-30 20:34) [1]

> Batus   (30.12.04 20:14)

Обрабатывайте OnCloseQuery. Правда, помещённый в этот обработчик код выполнится и в том случае, если нажать крестик для закрытия окна.

Если интересует именно Alt-F4, можно обрабатывать OnKeyDown (чтобы форма не закрылась, нужно обнулять там параметр Key). Свойство KeyPreview формы следует установить в True.


 
Batus   (2004-12-30 20:36) [2]

А как этот параметр Обнулять, то?


 
begin...end ©   (2004-12-30 20:40) [3]

> [2] Batus   (30.12.04 20:36)

Key := 0


 
Batus   (2004-12-30 20:41) [4]

Спасибо! Вы очень помогли


 
begin...end ©   (2004-12-30 20:43) [5]

> [2] Batus   (30.12.04 20:36)

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 if (Shift = [ssAlt]) and (Key = VK_F4) then
 begin
   ShowMessage("Фигушки!");
   Key := 0
 end
end.


 
©   (2004-12-31 07:21) [6]

procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;

-------------------

implementation

{$R *.DFM}

procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
If Message.CmdType  and $FFF0 = SC_CLOSE  Then
 ShowMessage("Фигушки!") Else
  inherited
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
14-1104143086
Lancelot
2004-12-27 13:24
2005.01.16
Вот, оказывется, кто придумал Deathmatch и Capture The Flag :)


6-1098805375
denissoft
2004-10-26 19:42
2005.01.16
Количество отправленных полученных байт.


1-1104485183
гость
2004-12-31 12:26
2005.01.16
Подскажите в чем ошибка


1-1104277153
Евгений2
2004-12-29 02:39
2005.01.16
Можно ли ВООБЩЕ данный участок кода сделать проще: без copy, val?


9-1096187857
Cash
2004-09-26 12:37
2005.01.16
DelphiX on Delphi6