【问题标题】:How do I get mnemonics in TrackPopupMenu?如何在 TrackPopupMenu 中获取助记符?
【发布时间】:2009-09-02 23:06:27
【问题描述】:

我有一个带有上下文菜单的 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);

为简洁起见,我省略了其余的菜单项。菜单有效,包括键盘快捷键,但问题是我在最终菜单中看不到带下划线的快捷键。

此菜单只有一个条目:

例子

虽然我希望输入(粗体字母会加下划线)。

E示例

如何让下划线显示出来?

【问题讨论】:

    标签: c++ winapi trackpopupmenu


    【解决方案1】:

    默认情况下,当使用鼠标调用上下文菜单时,Windows 不显示下划线——仅当使用键盘调用上下文菜单时。除非所有者绘制菜单,否则您无法覆盖此行为。

    如果用户选择了“下划线菜单快捷键”选项,或者用户是否通过 Shift+F10 或 Windows 上下文菜单键调用上下文菜单,您的快捷方式将显示。

    【讨论】:

      猜你喜欢
      • 2022-10-15
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多