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

  #2574  
Старый 10.01.2009, 06:00
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
С нами: 10018169

Репутация: 1680


По умолчанию

Цитата:
Сообщение от FindeR  
Ой, как у тебя всё сложно..

В объявлениях формы кидаем (в 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;
всё
Насколько я понимаю из кода, alt+shift+f10 это и есть горячие клавиши, всё сделал, нажимаю на них и ничего не происходит...
 
Ответить с цитированием