Компонент Delphi HotKey (Горячие клавиши)

Компонет HotKeyКомпонент Delphi HotKey (Горячие клавиши) располагается на странице Win32 Палитры компонентов. С помощью него можно определить комбинацию нажатия клавиш для выполнения заданных действий.

свойство InvalidKeyСвойство InvalidKeys определяет "запрещенные" клавиши - это такие клавиши нажатие на которые вместе с "горячей" клавишей не будут учитываться. Если  Вас как разработчика использование клавиши ALT и обычной алфавитно-цифровой, необходимо через Инспектор объектов установить в свойстве InvalidKeys значения hcAlt равным FALSE, а остальные должны быть TRUE.

Значения свойства InvalidKeys:

  • hcNone Обычные алфавитно-цифровые клавиши должны нажиматься вместе с управляющими;
  • hcShift используется клавиша Shift;
  • hcCtrl используется клавиша Ctrl;
  • hcAlt используется клавиша Alt;
  • hcShiftCtrl используются клавиши Shift + Ctrl;
  • hcShiftAlt используются клавиши Shift + Alt;
  • hcCtrlAlt используются клавиши Ctrl + Alt;
  • hcShiftCtrlAlt используются клавиши Shift + Ctrl + Alt.

свойство ModifiersСвойство Modifiers определяет какие управляющие клавиши по умолчанию используются для назначения комбинации клавиш. По виду понятно, что речь идет о клавишах Shift, Ctrl, Alt. Значение hkExt - говорит о том что нет управляющих клавиш.

пример с компонентом HotKeyРазберем такой пример на форме расположим компоненты меню, Edit, HotKey и label. В меню сделаем один пункт - сообщение.  Label будет иметь заголовок - Горячая клавиша. Компонент Edit нужен для того чтобы компонент HotKey, мог быть не в фокусе (иначе придется два раза нажимать горячие клавиши: первый раз задавать "горячие клавиши", второй выполнять команду). Обработчик события пункта меню:

procedure TForm1.N1Click(Sender: TObject);
begin
    ShowMessage('Нажатие горячих клавиш');
end;

А события (onCreate) создания формы и onChange (изменения) компонента HotKey будут одинаковыми, они будут задавать "горячие клавиши" для пункта меню:

procedure TForm1.FormCreate(Sender: TObject);
begin
    n1.shortCut := HotKey1.HotKey;
end;
procedure TForm1.HotKey1Change(Sender: TObject);
begin
     n1.shortCut := HotKey1.HotKey;
end;

Итог: мы разобрали свойства и назначение компонента HotKey.

Понравилась статья? Раскажите друзьям:
Общайтесь со мной

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>