Witam wszystkich mam problem. Mianowicie mam aplikację, która jest typu MDI no i chciałem po naciśnięciu ESC żeby zamykała się aktywna forma typu MDIChild. Udało mi się to zrobić aczkolwiek problem jest gdy wszystkie okna typu MDIChild są już zamknięte i ktoś naciśnie klawisz ESC na formie głównej, która jest typu MDIForm. Całe środowisko się wiesza i pozostaje jedynie uruchomić ponownie delphiego.
Ma ktoś pomysł jak to rozwiązać?
var
MainHook : HHOOK;
function KeyHook(Code: Integer; wParam : WPARAM; lParam : LPARAM): Longint; stdcall;
var
Buffer: TEventMsg;
begin
result := 0 ;
Buffer := PEventMsg(lParam)^;
if Buffer.message = wm_KeyDown then
if (Buffer.paramH = 1) then
if (act) and (Screen.ActiveForm.FormStyle = fsMDIChild) then
Screen.ActiveForm.Close
else
exit;
end;
MainHook := SetWindowsHookEx(wh_JournalRecord, KeyHook, HInstance, 0);
UnhookWindowsHookEx(MainHook);