Форум: "Основная";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
ВнизСистемная горячая клавиша Найти похожие ветки
← →
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.
← →
R © (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c