【发布时间】:2009-10-19 22:40:30
【问题描述】:
我目前有一些工具栏按钮,其侧面有一个小箭头 (TBSTYLE_EX_DRAWDDARROWS),单击该按钮后,会在按钮下方显示一个弹出上下文菜单。这是通过构建一个自定义弹出菜单并调用TrackPopupMenu来完成的。
客户端现在希望能够在菜单关闭之前从菜单中选择多个选项,以便可以修改多个选项,而无需重新打开菜单并等待每次更改之间的中间重绘。
例如:
- 用户点击下拉按钮
- 出现下拉菜单(模式,无限期等待用户操作)
- 用户点击了某些项目(例如,切换复选标记)
- 计时器(例如 500 毫秒)启动
- 如果计时器到期,则关闭菜单并执行所有选定的操作。
- 用户在计时器到期之前点击了另一个项目,返回到 4。
我能想到的最好办法是通过多次调用TrackPopupMenu 来重新显示菜单。当您选择一个项目时,这会使菜单“闪烁”,并且可能需要我启动一个线程以执行超时,我宁愿避免这种情况。
【问题讨论】:
标签: mfc popup contextmenu