Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
behollder
47 / 28 / 8
Регистрация: 23.01.2013
Сообщений: 124
Завершенные тесты: 1
#1

Hotkeys - C++

03.08.2013, 14:51. Просмотров 361. Ответов 2
Метки нет (Все метки)

Добрый день.
Нужен совет как более правильно сделать следующую вещь: у приложения будут функции(к примеру "переключить трек" и т.д.). Нужно дать пользователю возможность назначать на различные функции горячие клавиши. Сам вопрос в том как правильней хранить эти функции и выбирать для вызова при срабатывании хоткея. Что-то такое в общем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2013, 14:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Hotkeys (C++):

HotKeys - JavaScript
Доброго времени суток! Подскажите, пожалуйста, реално ли переопределить горячие клавиши клиентского браузера? Да, я прекрасно понимаю,...

Hotkeys - C#
Такой вопрос: Я сделаю поле textbox, введу туда текст, скрою прогу (либо через кнопку либо просто так) и открою другое окно, нажму F1 и...

HotKeys - Delphi
Как задать на f1 "выход из программы"? И еще. Как чтоб по таймеру нажимались кнопки? Т.е таймер прошел - нажалась w, еще раз прошел,...

hotkeys - Mono
http://www.youtube.com/watch?list=PLR6WI6W1JdeYSXLbm58jwAKYT7RQR31-W&feature=player_detailpage&v=qGup08cz7LM&t=42s В этом гайде мужик...

Bind Hotkeys на сайте - C#
можна сделать сайт чтоб посетители могли забиндить клавиши (поменять например чтоб r=num7), включить старт и пока сайт не закрил все букви...

Создание HotKeys (Отловить нажатие клавиши Esc) - C#
Добрый день, товарищи. Подскажите советом - создана форма с BorderStyle = None, на ней лежит во весь рост Panel. Нужно отловить нажатие...

2
Dragokas
Эксперт WindowsАвтор FAQ
15974 / 6791 / 818
Регистрация: 25.12.2011
Сообщений: 10,503
Записей в блоге: 16
03.08.2013, 17:24 #2
Цитата Сообщение от greenlight Посмотреть сообщение
как правильней хранить эти функции и выбирать для вызова
Это Ваш основной вопрос?
Один я не пойму что хочет ТС?
0
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
03.08.2013, 17:29 #3
Для хранения функции подойдет std::function с нужной сигнатурой или более общий случай - посмотреть что такое паттерн команда (Command design command).
Если у вас будет например мапина хоткеев и комманд, то сделать задуманное достаточно просто:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// очень схематично:
std::map<HotKey, Command> commands;
.... .. тут инициализация этой мапины ну и редактирование.
когда нажимают хоткей - вызывается некая функция, которая имеет доступ до этой мапины:
 
void ProcessHotKey(const HotKey& hotkey)
{
   auto iter = commands.find(hotKey);
   if (iter != commands.end())
   {
      (*iter)->execute();
      // или
      (*iter)();
      // способ вызова зависит от того, как выглядит класс Command
   }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2013, 17:29
Привет! Вот еще темы с ответами:

Глобальные хуки (Hotkeys) - Забинденные кнопки перестают работать в приложениях - C#
Сделал бинд на клавишу 1, все работает нормально, но есть одна проблема если я к примеру нахожусь в браузере, установил курсор в строку...

Хотел на модальной форме для кнопки сделать hotkeys, но вылетает ошибка. - Delphi
procedure TForm3.FormKeyPress(Sender: TObject; var Key: Char); begin case Key of #13:btn1click(sender); end; end; ...

Конфликтуют 2 плагина jQuery.noty и jquery.hotkeys-0.7.9 - jQuery
Всем доброго времени суток. jQuery.noty отказывается работать если используется jquery.hotkeys-0.7.9. Помогите исправить. Я предполагаю,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru