С D2007, быстрый обходной путь, кажется, назначает его во время выполнения;
Action1.ShortCut := VK_PAUSE;
По какой-то причине, если назначено во время разработки, VK_PAUSE (19), по-видимому, мутирует в VK_NUMLOCK (144).
Когда ярлык назначается во время разработки, в среде IDE необходимо преобразовать строку в ярлык.Проблема в том, что
TextToShortCut('Pause');
возвращает 144 вместо 19. Хотя я не уверен, что считаю, что ошибка в Delphi;С 'Паузой', поиск ярлыка находит путь к
menus.GetSpecialName
, я думаю, что это не должно.
На другой ноте, в то время как обходной путь, упомянутый выше, работает с Alt иShift 'модификаторы, он не работает с модификатором' Ctrl '.Причина в том, что ОС обрабатывает специальный код: «Ctrl + Break»: VK_CANCEL
.Чтобы использовать «Ctrl + Pause» в качестве ярлыка, нужно кодировать;
Action1.ShortCut := menus.Shortcut(VK_CANCEL, [ssCtrl]);