Показать сообщение отдельно
  #8  
Старый 06.04.2020, 09:36
Аватар для Guaho
Guaho Guaho вне форума
Начинающий
 
Регистрация: 27.08.2017
Сообщения: 173
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Уффф... Кажись что-то наконец нарисовалось! Спасибо за помощь!
Метод такой: всю обработку клавиатуры надо перенести в OnShortCut формы. И далее примерно так:
Код:
procedure Tfm_komp.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
  GlobalKeyBoardKey := dm.GetExtKey(Msg.CharCode); // Получение "расширенного" кода (свой формат) для последующего сравнения с кодами заданных в настройках горячих клавиш.
  GAlt := dm.AltDown; // определение факта нажатия Alt, код я приводил ранее.

  if GlobalKeyBoardKey = ukShowOperPanel then // пример обработчика (показ/скрытие панели)
    begin
      sbShowOperPanel.Down := not sbShowOperPanel.Down;
      sbShowOperPanelClick(Self);
      Handled := true;
      exit;
    end;

........ // (действия с другими клавишами)

  if GAlt then Handled := true; // если вдруг обнаружилась нажатая "неподавленная" Alt, "давим" её.
end;
В случаях, когда надо обрабатывать ГК, только если определённые контролы имеют фокус, здесь же это и проверяем.
Ответить с цитированием