16 июня 2010

Компонент HotKey

Компонент HotKey предназначен для назначения пользователем различных комбинация клавиш для выполнения той или иной команды (как правило, команды меню). Он расположен на вкладке Win32 Палитры компонентов:
Компонент HotKey
Перенесите его на форму (оставьте его имя HotKey1 по умолчанию). Также добавьте на форму главное меню с подменю, в обработчике щелчка по подменю вставьте, например, показ messagebox'а:

void __fastcall TForm1::MenuItem1Click(TObject *Sender)
{
    ShowMessage("!!!");
}
Сейчас единственный способ выполнить действие для нашего пункта меню - это кликнуть на нем. Никаких комбинаций клавиш просто нет. А вот с помощью добавленного на форму компонента HotKey мы и предоставим пользователю такую возможность. Для этого добавьте еще на форму кнопку, в обработчике щелчка по ней напишите следующий код:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  MenuItem1->ShortCut = HotKey1->HotKey;
}
Тут мы просто присваиваем свойству ShortCut нашего пункта меню значенение свойства HotKey нашего элемента HotKey1. Потому что именно в свойство HotKey и запишется заданная пользователем на этапе работы программы некоторая комбинация клавиш.
Запускаем программу. Введем некоторую комбинацию клавиш в наш HotKey и нажмем на кнопку. Теперь при нажатии заданной пользователем комбинации клавиш и будет выполнятся команда пункта меню:
HotKey в работе Обратите внимание, что компонент HotKey можно использовать только для тех компонентов, у которых есть свойство ShortCut.

Комментариев нет:

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

Темы