首页 > 解决方案 > 为什么鼠标按钮 2 和 3 对菜单的行为不同?

问题描述

我想将鼠标按钮 2 和 3 映射到相同的命令以执行相同的操作,但行为不一样。以下是用于重现该行为的完整 Tcl 代码片段:

package require Tk

menu .menu

foreach button {<2> <3>} {
  bind . $button {.menu post %X %Y}
}

按钮 2 和 3 都按预期发布菜单,但当前未发布。奇怪的是,在发布时,按下按钮 3 会将菜单重新发布到新位置,而按下按钮 2 没有明显效果。通过按 Esc 取消发布后,按 2 将在位置发布菜单,因此显然按钮 2 与命令正确关联。在通过按下按钮 2 打开菜单时按下按钮 3 可将菜单正确地发布到新位置。

为什么它会这样?

Windows 10,ActiveTcl 8.6.7 Build 0(64 位)。

标签: windowstcltk

解决方案


推荐阅读