Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #8  
Старый 06.04.2020, 09:36
Аватар для Guaho
Guaho Guaho вне форума
Начинающий
 
Регистрация: 27.08.2017
Сообщения: 179
Версия 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;
В случаях, когда надо обрабатывать ГК, только если определённые контролы имеют фокус, здесь же это и проверяем.

Последний раз редактировалось Guaho, 06.04.2020 в 09:55.
Ответить с цитированием
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025