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

Virtual Key Сodes   Найти похожие ветки 

 
Alex-21   (2003-06-04 21:20) [0]

Как перехватить "Alt+F4"?
Я написал if Key = VK_LMENU + VK_F4 then..., но она по-моему не работает, не реагирует. Верно ли я написал? Или надо по-другому написать?


 
зфмуд_л   (2003-06-04 22:12) [1]

А надо только для твоего приложения или глобально? Если только для твоего, то проще всего обрабатывать OnCloseQuaery (вроде так пишется:), это событие возникает перед закрытием, то есть после нажатия Alt+F4.


 
Xoy   (2003-06-04 22:33) [2]

function AltKeyDown : boolean;
begin
result:=(Word(GetKeyState(VK_MENU)) and $8000)<>0;
end;

......

if (key = VK_F4) and (AltKeyDown = true) then begin
......
......
end;

как-то так


 
Palladin ©   (2003-06-04 22:47) [3]

имхо Alt-F4 так же как и Ctrl-Alt-Esc и Alt-TAB и тд есть системные hotkeys, ловить их нужно на соответствующих системных сообщениях

Alt-F4 ловится на WM_SysCommand
procedure WMGetSysCommand(var Message: TMessage); message WM_SYSCOMMAND;

if Message.WParam=SC_Close then
правда я не в курсе как крестик отличить от Alt-F4, может только GetKeyboardState проверить...

если же все нужно на глобальном уровне тот тут только hooks



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

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



Память: 0.45 MB
Время: 0.011 c
1-60184
_san_
2003-06-04 09:32
2003.06.19
Как убрать фон у компонента


1-60197
Verg
2003-06-05 11:19
2003.06.19
ДКОИ


6-60302
Kedis
2003-04-18 14:24
2003.06.19
Отправка писем


14-60318
Soft
2003-06-02 20:54
2003.06.19
Linux: истоки новой философии программирования


3-60063
Андрей
2003-05-23 05:18
2003.06.19
Как из программы добавить алиас ODBC




   Наверх