我有CMenu实例,我在其上添加了多个项目。对于我添加的其中一个项目,我设置了MF_HILITE标志。
当我显示菜单时,相应的项目会根据要求正确点亮。问题是它一直保持高亮,直到我将鼠标移到它上面并离开。我当时只希望有一件物品可以点亮。当另一个项目被打开时,Windows似乎不会取消它。
一旦另一个项目获得高光,我怎么能强迫它不被点亮?我找不到任何鼠标悬停回调或菜单消息,我也找不到无效。
答案 0 :(得分:0)
你以奇怪的方式使用MF_HILITE
。该项目实际上没有突出显示,它只是绘制它。如果用户按Enter键,则不会选择“突出显示”项目。
您可能正在寻找MF_DEFAULT
。
答案 1 :(得分:0)
似乎不可能。
无法设置菜单中当前所选项目的内部状态。使用MF_HILITE
或HiliteMenuItem
不会设置当前选定的项目,它只会设置视觉样式。
作为一种解决方法,我使用了一个弹出窗口ListBox
,它具有我需要的所有功能。