199 / 24 / 12
Регистрация: 07.02.2014
Сообщений: 221
|
|
1 | |
Работа в приложении с использованием клавиш09.08.2014, 16:07. Показов 3377. Ответов 13
Метки нет (Все метки)
Здравствуйте!
Делаю первые шаги. Написал приложение типа калькулятора, но считающего другие функции, но это не столь важно. Программа работает хорошо, но все управление делается мышкой. Хотелось бы добавить возможность работы и с помощью клавиатуры, типа как электронных таблицах: стрелка влево - переходим в поле для ввода слева, стрелка вниз - переходим на поле внизу, Enter - эквивалентно нажатию кнопки "рассчитать" и т.д. Как это сделать или где об этом можно почитать (поиск по форуму ничего не дал, но это, вероятнее всего, из-за неправильной формулировки вопроса)?
0
|
09.08.2014, 16:07 | |
Ответы с готовыми решениями:
13
Работа с клавиатурой, сочетания клавиш, блокировка клавиш Нажатие клавиш в стороннем приложении Имитация нажатия клавиш в приложении Сочетание клавиш в консольном приложении |
199 / 24 / 12
Регистрация: 07.02.2014
Сообщений: 221
|
|
09.08.2014, 16:25 [ТС] | 3 |
0
|
09.08.2014, 16:36 | 4 |
...потому что натив вызов обернут чуть с другим названием.
https://www.cyberforum.ru/post4324151.html
0
|
09.08.2014, 19:38 | 5 |
Сообщение было отмечено DeSex как решение
Решение
Потому что на самом деле у функции имя GetAsyncKeyState_, как впрочем у других функций ОС. Это сделано чтобы не возникло конфликта имен с функциями PureBasic.
Задачу можно решить по другому - назначить так называемые "горячие клавиши". Для этого предназначена функция AddKeyboardShortcut().
0
|
199 / 24 / 12
Регистрация: 07.02.2014
Сообщений: 221
|
|
10.08.2014, 15:34 [ТС] | 6 |
Сделал именно по этому варианту, с первым показалось сложнее разбираться. Спасибо.
0
|
3 / 3 / 1
Регистрация: 05.05.2013
Сообщений: 143
|
|
20.08.2014, 18:31 | 7 |
А вот у меня вопрос в тему. Пытался сделать в своей проге (мб позже выложу на оценку) "хоткеи", но AddKeyboardShortcut отказывалась срабатывать. Я надел на окно скин DarkSoft, может поэтому? Пришлось с помощью DroopyLib добавлять хоткеи (на кнопки Enter и Delete), они срабатывали, но в других приложения переставали работать. Что посоветуете?
0
|
20.08.2014, 18:35 | 8 |
GetAsyncKeyState() же будет работать.
0
|
109 / 88 / 28
Регистрация: 21.08.2012
Сообщений: 371
|
||||||
21.08.2014, 11:10 | 9 | |||||
Такого быть не может. Вот пример:
0
|
109 / 88 / 28
Регистрация: 21.08.2012
Сообщений: 371
|
|
21.08.2014, 11:20 | 11 |
locm, ну raxp процитировал тебя, а ты писал про AddKeyboardShortcut
0
|
21.08.2014, 11:27 | 12 |
Может.
Подозреваю, что ваша так называемая регистрация "горячих клавиш" через AddKeyboardShortcut как обертка содержит несколько иные вызовы, ибо WinAPI-шная регистрация через GlobalAddAtom() + RegisterHotKey() регистрирует комбинацию и очередь сообщений на свое приложение, и ежели оно уже кем то было занято, то другим не даст. Добавлено через 5 минут
0
|
21.08.2014, 12:50 | 14 |
...тем паче
0
|
21.08.2014, 12:50 | |
21.08.2014, 12:50 | |
Помогаю со студенческими работами здесь
14
Коды клавиш в консольном приложении Глобальный отлов клавиш в приложении Использование клавиш со стрелками в приложении Отловить нажатие клавиш в приложении Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |