У меня есть приложение MFC, которое показывает всплывающее меню при щелчке правой кнопкой мыши с помощью функции TrackPopupMenu
. Метка динамически заполняется с помощью функции InsertMenu
. В зависимости от другого состояния приложения, я хочу отобразить меню с выделенными определенными пунктами меню, поэтому я использую аргумент dwFlags
для InsertMenu
, чтобы включить или выключить подсветку, используя значения MF_HILITE
или MF_UNHILITE
.
dwFlags |= MF_CHECKED;
dwFlags |= MF_HILITE;
InsertMenu(pPopup->GetSafeHmenu(), i, dwFlags, it->first, szToUse);
Это работает, за исключением того, что если пользователь прокручивает мышь над выделенными пунктами меню, он теряет выделение! Я пробовал несколько разных вещей, но они, похоже, не помогают. Любая помощь будет оценена.