我有一个Win32 / MFC应用程序,该程序带有以编程方式构建的上下文菜单:
CPoint pt;
GetMenuPopupPos(&pt);
CAtlString csItem = _T("&Example");
CMenu menu;
menu.CreatePoupMenu();
menu.AppendMenu(MF_STRING, IDM_EXAMPLE_COMMAND, csItem);
menu.TrackPopupMenuEx(TPM_LEFTALIGN|TPM_LEFTBUTTON, pt.x, pt.y, this, NULL);
为了简洁起见,我省略了其余菜单项。该菜单有效,包括键盘快捷键,但是问题是我在最终菜单中看不到带下划线的快捷键。
该菜单只有一个条目:
例
我希望能看到该条目(在粗体字下划线的地方)。
例
如何使下划线显示出来?
最佳答案
默认情况下,使用鼠标调用上下文菜单时,Windows不显示下划线-仅当使用键盘调用上下文菜单时。您不能在没有所有者绘制菜单的情况下覆盖此行为。
如果用户选择了“下划线菜单快捷键”选项,或者用户通过Shift + F10或Windows上下文菜单键调用了上下文菜单,则快捷方式将显示。
关于c++ - 如何在TrackPopupMenu中获得助记符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1370621/