пункты контекстного меню выбираются при наведении курсора на mfc - PullRequest
1 голос
/ 30 января 2012

У меня есть приложение с контекстным меню.Я использую метод OnMenuSelect, но он вызывается, когда мышь находится над элементом меню, а не когда я щелкаю по нему.Есть ли способ решить эту проблему?

1 Ответ

2 голосов
/ 30 января 2012

Да, это по замыслу.Метод OnMenuSelect соответствует сообщению WM_MENUSELECT , которое отправляется при наведении курсора мыши на элемент меню.

Для обработки события щелчка дляпункт меню, вам нужно обработать WM_COMMAND сообщение , которое

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

В терминах MFC это означает переопределение OnCommand метода :

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

...