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