c++ - 如何更新已在 C++ 中使用 TrackPopupMenu 显示的上下文菜单

标签 c++ winapi drop-down-menu

比如说,如果我使用带有 TPM_RETURNCMD 标志的 TrackPopupMenu() API 显示弹出上下文菜单。显示上下文菜单时,我需要查看键盘上是否按下了 Shift 或 Ctrl 键,并根据该键更新上下文菜单中的一些菜单项。这可能吗?

最佳答案

这不是您正在开发的平台的标准用户体验。我知道我会对这种行为感到恼火。在 Windows 平台上,在打开菜单之前按 meta 键是标准的。例如,在资源管理器中右键单击某个项目时按住 Shift 键可提供经过修改的上下文菜单(例如,“打开方式...”或“在新进程中打开”)。

遵循平台约定。我不希望 Mac 上的应用程序与 Windows 上的应用程序行为相同,我也不希望 Windows 上的应用程序与 Mac 上的应用程序行为相同。如果您不遵守约定,您将面临大量恼怒用户的风险。 [参见 Lotus Notes、SAP]

关于c++ - 如何更新已在 C++ 中使用 TrackPopupMenu 显示的上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13224099/

相关文章:

html - CSS 过渡在下拉菜单中不起作用

c++ - 在 C++ 中使用树计算 Postfix 表达式

winapi - 获取父窗口的正确方法

c++ - 我可以将 Functor 类(重载运算符())传递给需要函数指针的函数吗?如何

c++ - 子类按钮不会在每次重复单击时生成动画

c - WinApi C 多线程 : how to wait for a thread to finish?

google-apps-script - 根据值创建下拉列表

swift - 需要咨询具有 5 种设置的图形用户界面,供用户选择

c++ - 涉及通用引用的过载解决方案

c++ - 计算多集