главная карта сайта связь с нами

HotKey

Компонент delphi HotKey является вспомогательным, обеспечивающий возможность задания самим пользователем горячих клавиш, определяющих быстрый доступ к разделам меню. К тому же этот компонент позволяет задать такие сочетания горячих клавиш, которые не предусмотрены в выпадающем списке свойств разделов меню ShortCut.
Компонент HotKey внешне выглядит как обычное окно редактора edit. Но если в него входит пользователь, то оно переводит нажимаемые пользователем клавиши в тип TShortCut, хранящий комбинацию горячих клавиш. Например если пользователь нажимает клавиши Ctrl + S, то в окне HotKey появится текст «Ctrl + S». По умолчанию комбинация клавиш равна «Alt + а».
Свойство HotKey содержит в себе эту комбинацию, для примера присвоим разделу меню с именем «Open» эти горячие клавиши
Open.ShortCut:=hotkey1.HotKey;
Modifiers указывает модификатор – вспомогательную клавишу, нажимаемую перед символом.
InvalidKeys задает недопустимые клавиши или их комбинации(Shift, Ctrl, Alt, Shift+Ctrl, Shift+Alt, Ctrl+Alt, Shift+Ctrl+Alt).

Приведем пример использования этого компонента.
Пусть у вас есть главная форма приложения, содержащая компонент MainMenu и пусть вы хотите в весть команду настройки горячих клавиш, позволяющие пользователю изменять установленные для разделов горячие клавиши.
Начните свое приложение, разместив на нем компонент MainMenu и задайте меню как показана на рисунке 1.
Добавьте в приложение одну форму(File – New Form) эта форма будет вспомогательной. В обработчике команды настройка главной формы вставьте оператор
procedure TForm2.N7Click(Sender: TObject);
begin
form15.ShowModal;
end;
Этот оператор позволит открыть окно с настройками как модальное т.е. пользователь не сможет вернутся на главную форму пока не закроет окно с настройками. Теперь спроектируем форму с настройками, для этого нам понадобится 2 компонента ListBox, HotKey и Button. Разместим их так как показана на рисунке ниже.

Теперь напишем, обработчик событий, который будет загружать списки ListBox1 и ListBox2 с названиями разделов и при выборе пользователем быстрых клавиш фиксировал бы этот выбор в соответствующем разделе меню.

 

Комментарии закрыты.

Подписаться

Введите адрес электронной почты: