单击wx切换按钮时不捕获鼠标
Don't Capture mouse when wxToggleButton is clicked
我在wxGridSizer中有许多自定义的wxToggleButtons。 我希望能够按住鼠标左键+移动鼠标以快速激活多个按钮(同样在鼠标右键按下时停用它们(。
我已经在wxEVT_ENTER_WINDOW、wxEVT_LEFT_DOWN等上尝试了不同的绑定......根本问题是wxEVT_ENTER_WINDOW(也是wxEVT_LEAVE_WINDOW(在鼠标按下时不会触发,因此我假设第一个按钮以某种方式捕获了鼠标。显而易见的wxWindow::ReleaseMouse((不是答案,一些不同的机制在起作用。
我还快速浏览了 wxMouseEventsManager 的子类化,但我无法让它与在 MouseDragBegin(( 中返回 false 的计划一起工作。我不确定这是否是合适的方法。
如何在 wxToggleButton 的子类中禁用此鼠标捕获行为?
经过更多的研究,我发现这不是wxWidgets,而是Windows的罪魁祸首。
使用Spy++和字符映射表应用程序,我在小的"Unicode"文本控件中按下鼠标左键。然后在按住鼠标按钮的同时拖动它。
"选择"按钮根本没有收到任何消息。
因此,在某些情况下,窗口会阻止其他窗口的所有消息。
当您将鼠标按在本机按钮上时,它会捕获鼠标,并且仅在您释放鼠标按钮时释放鼠标。可以强制中断捕获,但这实际上不是一个好主意,并且会导致尴尬和不寻常的UI,因为无论您是否意识到,用户都习惯于本机按钮行为。
相关文章:
- 如何通过拖动鼠标QT检查按钮?鼠标移动事件
- 以编程方式在任何按钮上突出显示 Qt 鼠标悬停按钮
- 单击wx切换按钮时不捕获鼠标
- 如何实现一致的方法来检测鼠标按钮被按住
- Qt按住鼠标按钮和计时器CPP
- SDL_MOUSEBUTTONUP甚至在释放鼠标按钮之前发生
- 将左鼠标按钮向上发送后,检测左键按钮
- 当鼠标按钮按下时,WM_LBUTTONDOWN不会立即发送
- QCHARTVIEW,橡皮筋和右鼠标按钮行为
- 模拟鼠标按钮按QT 5.3仅第一次工作
- 当我在C++/SFML中按下鼠标按钮时,如何画一个球
- 如何检测是否在Qt中同时按下了两个鼠标按钮
- 如何检测全局鼠标按钮事件
- 检测鼠标按钮是否按下
- 通过按住鼠标按钮绘制SDL/c++
- Qt鼠标按钮
- Qt MouseMoveEvent仅在按下鼠标按钮时触发
- 游戏认为鼠标按钮被连续点击
- 如何在不释放鼠标按钮的情况下更改所选文本
- 鼠标按钮模拟-右键和上下文菜单问题