3

假设我有一个标准的 Win32 弹出菜单,它比屏幕还高。它在顶部产生一个向上箭头,在底部产生一个向下箭头,因此用户可以滚动浏览其项目。

这样的菜单是否有可能响应鼠标滚轮滚动?滚轮事件被发送到焦点控件,而不是菜单,因此通常发生的是菜单后面的文本编辑器滚动。

更新:也就是说,有没有办法让我路由滚轮事件,或者我可以发送一些消息到弹出的打开菜单以编程方式将其向上或向下滚动一个档次?

4

2 回答 2

0

您可以自己拼凑一些东西,但它不会是 Win32 菜单。它不是 UI 标准的一部分。

这是真的原因可能是您已经说过的;Win32 菜单无法获得焦点。

于 2009-10-25T02:18:24.787 回答
0

你能以某种方式折叠菜单吗?Office 隐藏了较少使用的菜单,并在必要时提供了一个菜单项来加载它们。如果没有,您可以像开始菜单一样编写自己的分页。

于 2009-10-25T02:19:12.367 回答