Показать сообщение отдельно

  #2573  
Старый 10.01.2009, 05:33
FindeR
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме:
2589211

Репутация: 151
По умолчанию

Ой, как у тебя всё сложно..

В объявлениях формы кидаем (в private)
Код:
procedure WMHotkey( var msg: TWMHotkey ); message WM_HOTKEY;
В OnCreate формы

Код:
if not RegisterHotkey(Handle, 1, MOD_ALT or MOD_SHIFT, VK_F9) then
  ShowMessage('Сочетание alt+shift+f9 занято');
if not RegisterHotkey(Handle, 2, MOD_ALT or MOD_SHIFT, VK_F10) then
  ShowMessage('Сочетание alt+shift+f10 занято');
в OnClose формы удаляем наши хоткеи

Код:
UnRegisterHotkey(Handle, 1);
UnRegisterHotkey(Handle, 2);
ну и, собсно, сама процедурка

Код:
procedure TForm1.WMHotkey( var msg: TWMHotkey );
begin
  if msg.hotkey = 1 then form1.Visible := false;
  if msg.hotkey = 2 then form1.Visible := true;
end;
всё
 
Ответить с цитированием