Диалоговое меню не получает клавишу Enter

В настоящее время я пишу диалоговое приложение MFC с меню. Меню отображается правильно, и пункты меню работают правильно с помощью мыши, ускорителей и горячих клавиш (например, для выхода: Ctrl+Q или Alt+ F,Q).

К сожалению, клавиша Enter не работает. То есть нажатие Alt+F откроет меню Файл, а нажатие выделит пункт Выход. , но при нажатии Enter она не будет выбрана.

Я знаю, что использование меню в диалоговых приложениях может быть немного сложным, но я успешно делал это раньше. Однако это было давным-давно с настроенным мастером VS, поэтому я пытаюсь вспомнить, как это сделать с нуля. Я попытался проверить свой старый код, но ничего не нашел в отношении VK_RETURN. (Нет, в PreTranslateMessage нет ничего особенного.)

Эти два вопросы связаны, но они хотят, чтобы диалоговое окно получало ключ, мне нужно меню, чтобы получить его.

Кто-нибудь знает, в чем проблема и как ее исправить?


person Synetech    schedule 25.07.2014    source источник
comment
Вы пытались использовать Spy++, чтобы узнать, кто может обрабатывать клавишу Enter? Попробуйте подсмотреть диалог.   -  person rrirower    schedule 26.07.2014
comment
На самом деле, Spy++ вообще не работает. Я даже пытался запустить его от имени администратора и настроить его на просмотр калькулятора Windows, но он по-прежнему ничего не регистрирует.   -  person Synetech    schedule 26.07.2014
comment
Я создал простое диалоговое приложение MFC с меню с помощью мастера VS, нажав Enter после выделения пункта меню, кажется, работает нормально (даже когда есть многострочный элемент управления Edit с WantReturn, который имеет фокус) - должен быть какой-то код в ваше приложение, которое проглатывает клавишу ввода...   -  person Edward Clements    schedule 26.07.2014
comment
Используете ли вы правильную (например, 32-битную или 64-битную) версию Spy++?   -  person rrirower    schedule 27.07.2014