我有一个GUI应用程序,布局如下:
wxFrame --> wxBoxSizer --> wxImagePanelwxImagePanel是一个自定义控件(可用here)。我稍微修改了一下它来处理鼠标事件(使用EVT_MOTION),比如拖拽,这样我就可以平移图像了。
不幸的是,这在Windows上看起来很丑陋--有一个深灰色的背景。推荐的方法是通过add a wxPanel连接到wxFrame --这使得丑陋的背景消失了。该应用程序现在的布局如下:
wxFrame --> wxBoxSizer --> wxPanel --> wxBoxSizer --> wxImagePanel (a custom control)它看起来好多了,但是现在我添加的wxPanel捕获了所有的鼠标运动事件。他们不能通过孩子的wxImagePanel,所以我不能再平移我的图像。
如何确保鼠标移动事件传递到子wxImagePanel?
发布于 2012-06-15 21:44:09
我已经通过在wxWidgets forums上询问解决了这个问题。
基本上,我的问题是wxImagePanel是wxFrame的孩子,而它应该是wxPanel的孩子。
发布于 2012-06-14 23:48:08
事物的正常顺序是
wxFrame --> wxPanel --> wxBoxSizer
我认为你最好这样使用它,就像这样
wxFrame --> wxImagePanel --> wxBoxSizer
或
wxFrame --> wxPanel --> wxBoxSizer --> wxImagePanel
https://stackoverflow.com/questions/11036649
复制相似问题