所以,例如我在wx.PaintDC上绘制了一些对象,例如直线和矩形。 现在我想要下一个:单击鼠标时我不知道哪个对象被点击。 当然,我可以看到最接近的对象,但更确切的答案呢?在wx.DC中绑定对象的最佳解决方案是什么?
也许甚至不是标准的wx.DC,但像FloatCanvas或类似的东西。
那么,什么是最好的解决方案?
所以,例如我在wx.PaintDC上绘制了一些对象,例如直线和矩形。 现在我想要下一个:单击鼠标时我不知道哪个对象被点击。 当然,我可以看到最接近的对象,但更确切的答案呢?在wx.DC中绑定对象的最佳解决方案是什么?
也许甚至不是标准的wx.DC,但像FloatCanvas或类似的东西。
那么,什么是最好的解决方案?
您可以使用PseudoDC and its FindObjects method
在我的绘图程序,Whyteboard我使用了一大堆数学,多态类与选择绘图工具,允许用户“点击测试”绘制的项目的。
你也可以用FloatCanvas来做到这一点,它提供了HitTest(x,y)(离开我的头顶)应该做你想做的事情的方法。但是,我不确定将您的应用程序转换为使用它有多难。
在你的事件处理函数中调用event.GetEventObject()会给你你需要的对象吗?