|
12 / 10 / 3
Регистрация: 31.10.2017
Сообщений: 126
|
|
У всех в HotKey Control печатается Num 8 вместо Up?27.03.2020, 00:14. Показов 2547. Ответов 12
Вот такая проблема, когда вводишь стрелку вверх в HotKey Control, то там пишется Up, а когда устанавливаешь горячую клавишу VK_UP(шлёшь сообщение HKM_SETHOTKEY), то пишется Num 8, не зависимо от того, включён ли Num Lock или выключен.
У меня Windows 10 19.09 и Visual Studio 2019
0
|
|
| 27.03.2020, 00:14 | |
|
Ответы с готовыми решениями:
12
Postmessage: вместо одного символа печатается два
|
|
12 / 10 / 3
Регистрация: 31.10.2017
Сообщений: 126
|
|
| 27.03.2020, 12:25 [ТС] | |
|
Ну я могу выложить весь архив с проектом.
Код-то вовсе не секретный. Вот как раз тот файл Это дело живёт в диалоговой процедуре (HotKeySettingsDlgProc). Если ввести горячую клавишу в этот хоткей контрол(стрелка вверх), то сначала она отображается как Up, потом, после нажатия кнопки ОК и открытия диалогового окна настроек горячих клавиш заново, она уже отображается как Num 8, хотя код виртуальной клавиши явно соответствует VK_UP и назначена как раз будет (стрелка вверх), ну т.е. при включенном Num Lock Num 8 не будет срабатывать, а вот при выключенном, как раз тогда, когда Num 8 является стрелкой вверх - срабатывает. Код виртуальной клавиши проверял в отладчике, уже после применения изменений и закрытия этого диалогового окна
0
|
|
|
Заблокирован
|
|
| 27.03.2020, 14:49 | |
|
blbulyan, разбираться в каком-то или пиарить скачивая - это для дуракоф.
Мы что на дуракоф похожи. Здесь только 31337 ( на этом форуме ) - учти!
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||
| 27.03.2020, 14:57 | |||||||
0
|
|||||||
|
12 / 10 / 3
Регистрация: 31.10.2017
Сообщений: 126
|
||
| 27.03.2020, 18:56 [ТС] | ||
|
0
|
||
|
|
|
| 27.03.2020, 20:12 | |
|
Здeсь всё уходит в глубину веков с бородатыми DOS, где клавиши управления курсором появились позднее, но для обратной совместимости и споддержки, в частности, игр, которые управлялись именно цифровыми клавишами со стрелками, новые клавиши не получили новых кодов.
Был введён специальный префикс: Старые игры не отличали управления цифрами или стрелками, игнорируя префикс и отлично работая. А новые программы уже могли отличать… Потому, клавиатуру нужно изучать глубже, чтобы понять из-за чего всё это так и почему… А дальше - и вопросы сами решатся… P.S.: И Windows, и Linux - с душком UNIX, CP/M-80 и DOS в таких местах…
1
|
|
|
Заблокирован
|
|
| 27.03.2020, 20:14 | |
|
Alikberov, да ну первый Кармагедон на Серой клавиатуре видео-магнитофон был.
И всё. Остальные игры не воспринимал если какие-то Квесты, стратегии для вас игра.
0
|
|
|
12 / 10 / 3
Регистрация: 31.10.2017
Сообщений: 126
|
|
| 27.03.2020, 21:09 [ТС] | |
|
0
|
|
|
|
|
| 27.03.2020, 22:18 | |
Сообщение было отмечено blbulyan как решение
Решение
1
|
|
|
12 / 10 / 3
Регистрация: 31.10.2017
Сообщений: 126
|
||||||
| 28.03.2020, 11:44 [ТС] | ||||||
|
Alikberov, А обычные стрелки, не на нумпаде являются клавишами перемещения курсора??? Т.е. обычные стрелки появились позже? Или всё таки клавиши со стрелками и цифрами появились позже? Я просто всегда считал что сам нумпад появился позднее, ну т.е. что обычные стрелки(без цифр) были раньше, возможно я ошибался.
Добавлено через 1 час 21 минуту Итак, я провёл эксперимент. Выяснилось, что флаг HOTKEYF_EXT устанавливается как раз для стрелок БЕЗ ЦИФР. Если сначала выключить Num Lock, затем нажать на клавишу (Восемь/стрелка вверх) то нам придёт код 0x00000026, если же нажать на стрелку вверх, то получаемый код 0x00000826, что как раз и говорит о том, что флаг HOTKEYF_EXT был установлен. полный код проверки:
Что свидетельствует о том, что флаг HOTKEYF_EXT был установлен. Если же нажать стрелку вверх на нумпаде то точка останова не срабатывает в данном месте. Получается, помимо этого флага, мне нужно ещё проверять включен ли Num Lock, чтобы стрелки на Num Lock играли такую же роль в моей программе как и обычные стрелки, но это конечно если оно мне надо будет.
0
|
||||||
|
|
||
| 28.03.2020, 14:34 | ||
Сообщение было отмечено blbulyan как решение
РешениеУ многих разных ЭВМ так было: Графика/мышка есть, курсорных клавиш - нет… P.S.: Даже поверхностные странствия по википедии с историей ПК снимают многие вопросы по устройству костылей современных систем…
0
|
||
| 28.03.2020, 14:34 | |
|
Помогаю со студенческими работами здесь
13
Выполнение последовательности запросов вида ADD num, PRESENT num и COUNT (без параметра) Объясните что делает эта строка кода - num = (ushort) (num & 0xFFFE) ? Выполнение последовательности запросов вида ADD num, PRESENT num и COUNT (без параметра) Почему Для num = 999999999, num * 10 = 2147483647 ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|