Всем привет. Столкнулся с таким: мне нужно назначить горячую клавишу для моего компонента. Использую TShurtCut в проперте. Хоткею думаю обрабатывать через message WM_HOTKEY. Осталось преобразовать TShurtCut в MOD_??? и VK_???. Как бы это сделать покультурнее?
RSDN@Home v.1.1.4
ORIGIN: Рай и ад отличаются лишь поставщиком софта.
Здравствуйте, 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;
Здравствуйте, 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