Hotkeys
От: Eagle-XK Украина http://esoft.pp.ua
Дата: 24.07.06 12:44
Оценка:
Всем привет. Столкнулся с таким: мне нужно назначить горячую клавишу для моего компонента. Использую TShurtCut в проперте. Хоткею думаю обрабатывать через message WM_HOTKEY. Осталось преобразовать TShurtCut в MOD_??? и VK_???. Как бы это сделать покультурнее?


RSDN@Home v.1.1.4
ORIGIN: Рай и ад отличаются лишь поставщиком софта.
Re: Hotkeys
От: Danchik Украина  
Дата: 24.07.06 12:57
Оценка: 4 (1)
Здравствуйте, Eagle-XK, Вы писали:

EX>Всем привет. Столкнулся с таким: мне нужно назначить горячую клавишу для моего компонента. Использую TShurtCut в проперте. Хоткею думаю обрабатывать через message WM_HOTKEY. Осталось преобразовать TShurtCut в MOD_??? и VK_???. Как бы это сделать покультурнее?


Вот что нарыто из JVCL (JvAppHotKey.pas):

uses
  Menus;

procedure GetHotKey(AShortCut: TShortCut; var VirtKey, Modifiers: Word);
var
  Shift: TShiftState;
begin
  ShortCutToKey(AShortCut, VirtKey, Shift);
  Modifiers := 0;
  if ssCtrl in Shift then
    Modifiers := Modifiers or MOD_CONTROL;
  if ssShift in Shift then
    Modifiers := Modifiers or MOD_SHIFT;
  if ssAlt in Shift then
    Modifiers := Modifiers or MOD_ALT;
end;
Re: Hotkeys
От: ekamaloff Великобритания  
Дата: 24.07.06 13:00
Оценка: 2 (1)
Здравствуйте, Eagle-XK, Вы писали:

EX>Всем привет. Столкнулся с таким: мне нужно назначить горячую клавишу для моего компонента. Использую TShurtCut в проперте. Хоткею думаю обрабатывать через message WM_HOTKEY. Осталось преобразовать TShurtCut в MOD_??? и VK_???. Как бы это сделать покультурнее?


См. функцию ShortCutToKey из Menus.pas
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.