【发布时间】:2011-10-21 07:58:03
【问题描述】:
我们在TPopupMenu的菜单项中使用鼠标左键触发动作。如何在这些菜单项中触发鼠标中键单击的不同动作?也就是说,鼠标左键和中键点击TPopupmenu的菜单项都是不同的动作。
【问题讨论】:
-
我认为这很难(以及其他人尚未做出回应的原因)是因为这是一件非常不标准且违反直觉的事情......您的用户如何知道这一点他们需要按菜单项上的中间按钮吗?他们如何知道中按在哪个菜单项上起作用?
-
必须是中间按钮吗?并非所有鼠标都有三个按钮。 (我在微软商店看到过只有 one 按钮的笔记本电脑,比如 Mac,这意味着即使是右键也需要使用特殊的修饰键。)也许你可以 use the right button 而不是中间一个。 popup-menu API 直接支持这一点。
-
即使鼠标有一个中键,也很少有人知道它可以被点击。大多数人只知道滚动。更何况鼠标中键被按下时有一个预定义的含义,即开始一个滚动循环。
-
如果中间点击不是一个合适的选择,不如使用一些组合键和鼠标点击,比如Ctrl-Click,来触发另一个动作? TPopupMenu 没有任何自定义点击相关的事件。
标签: delphi