允许子面板处理鼠标运动事件
Allow child panel to handle mouse motion events
我有一个具有以下布局的GUI应用程序:
wxFrame --> wxBoxSizer --> wxImagePanel
wxImagePanel 是一个自定义控件(可在此处获得)。 我稍微修改了它以处理鼠标事件(使用 EVT_MOTION),例如拖动,允许我平移图像。
现在,不幸的是,这在Windows上看起来很丑 - 有一个深灰色的背景。 推荐的方法是在wxFrame中添加wxPanel,这会使丑陋的背景消失。 该应用程序现在的布局如下所示:
wxFrame --> wxBoxSizer --> wxPanel --> wxBoxSizer --> wxImagePanel (a custom control)
它看起来好多了,但现在我添加的wxPanel正在抓取所有鼠标运动事件。 他们无法通过子 wxImagePanel,所以我无法再平移我的图像。
如何确保鼠标运动事件通过子 wxImagePanel?
事物的正常顺序是
wxFrame --> wxPanel --> wxBoxSizer
我认为你会更好地使用它,就像这样
wxFrame --> wxImagePanel --> wxBoxSizer
或
wxFrame --> wxPanel --> wxBoxSizer --> wxImagePanel
我已经通过在wxWidgets论坛上提问解决了这个问题。
基本上,我的问题是wxImagePanel是wxFrame的子级,而它应该是wxPanel的子级。
相关文章:
- WinAPI挂钩鼠标
- 将鼠标悬停在问题上时与预期">"相关的代码错误
- 跟踪滚动条上的鼠标事件
- SendInput()鼠标移动计算
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 如何在鼠标挂钩过程中检测拖动
- Win32 发送输入鼠标移动滞后并冻结
- 将鼠标和键盘输入发送到 unity3d 游戏 (Rust)
- 有没有办法区分Qt小部件是通过鼠标单击还是通过按表键获得焦点?
- 在 macOS 中使用 C/C++ 设置鼠标光标图像
- 如何通过拖动鼠标QT检查按钮?鼠标移动事件
- SDL2 调整窗口大小后如何缩放鼠标坐标?
- 如何在QSplashScreen中禁用鼠标单击
- 粒子系统:所有粒子都朝同一方向运动
- C++鼠标单击时的屏幕截图不起作用
- 在 GTKMM 中捕捉鼠标运动
- setCursor()有时在鼠标快速运动中失败
- 用C++睡眠特定的鼠标运动
- 允许子面板处理鼠标运动事件
- SDL2崩溃白色InputHandler鼠标运动