Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по HotKey


Alarm ©   (2007-02-16 09:50:00) 

Доброго времени суток.
В приложении используются "горячие клавиши" (HotKey). Собственно все нормально, однако у меня вопрос. Запускаю второй экземпляр приложения, набираю "горячие клавиши" и с некоторым удивлением наблюдаю, что их обрабатывает приложение запущенное первым, а активное (в данном случае второе) их не обрабатывает. Видимо это нормально, но мне не понятно. Можно ли сделать так, чтобы эти HotKey обрабатывало то приложение, с которым я в данный момент работаю?
Спасибо.


Alarm   (2007-02-16 19:02:00) [1]

>Alarm ©   (16.02.07 10:01) [2]

> Elen ©   (16.02.07 09:53) [1]
Как их создаеш? Через RegisterHotKey?
Нет,
юзаю
procedure ShortCutToKey(ShortCut: TShortCut; var Key: Word; var Shift: TShiftState);


А здесь я нечаянно соврал:(

в TForm1.FormCreate(Sender: TObject);
у меня
RegisterHotKey(Handle, Hotkey_id1, Modifiers, hhKey1);


Elen   (2007-02-16 11:01:00) [2]


> Alarm ©   (16.02.07 10:44) [4]

Извини за глупый вопрос, а как ты их (хоткеи) регистрируеш? Разве ThotKey это делает?


Alarm   (2007-02-16 10:44:00) [3]

HotKey(и) у меня на форме (из Package Win32).

HotKey1: THotKey;
HotKey2: THotKey;


private
procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;

...
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
 if Msg.HotKey = Hotkey_id1 then
   begin
     ...
   end;
 if Msg.HotKey = Hotkey_id2 then
  begin
   ...
  end;
end;


Elen   (2007-02-16 10:08:00) [4]


> Alarm ©   (16.02.07 10:01) [2]

Т.Е. хоткеи у тебя в менюхе прописаны?


Alarm   (2007-02-16 10:01:00) [5]

> Elen ©   (16.02.07 09:53) [1]
Как их создаеш? Через RegisterHotKey?


Нет,
юзаю
procedure ShortCutToKey(ShortCut: TShortCut; var Key: Word; var Shift: TShiftState);


Elen   (2007-02-16 09:53:00) [6]


> В приложении используются "горячие клавиши" (HotKey)

Как их создаеш? Через RegisterHotKey?


Наверх

Титульная страница Поиск, карта сайта Написать письмо