image_mousedown事件给奇怪的坐标

我正在以图表轴为单位检索图表上鼠标点击的位置。 应用于图表对象的mousedown事件返回相对于px中图表对象的原点的坐标(我相信),但是我需要知道点击在绘图区域内的位置。 为了解决这个问题,我在图表的绘图区域上覆盖了透明的ActiveX图像。 这样mousedown事件是相对于图像。 通过将原点放置在图表坐标原点上,我可以简单地通过知道图像.height&.width属性来将返回的X / Y转换为图表单元。

这适用于其中一个图像,我可以确认它返回在轴原点(0,0)的X / Y。 第二个图像也在原点返回(0,0),但从mousedown返回的X / Y值比第一个图像放大了32倍,因为我离开了轴原点。 这两个图像都具有相同的高度和宽度,所以第二个图像开始返回大于距图像原点不远的X / Y值。

我明白,我可以通过将mousedown的X / Y除以32的因子来纠正这个问题,但是我们更愿意理解为什么它们会更快地扩大。

请查看我的代码的每个图像mousedown事件的副本以及图像属性的图片 – 以确认其属性是相同的附加。

任何帮助表示赞赏。 谢谢。

Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As _ Integer, ByVal X As Single, ByVal Y As Single) Dim imH As Single Image1.Visible = False imH = Image1.Height MsgBox Y/imH Image1.Visible = True End Sub Private Sub Image2_MouseDown(ByVal Button As Integer, ByVal Shift As _ Integer, ByVal X As Single, ByVal Y As Single) Dim imH As Single Image2.Visible = False imH = Image2.Height MsgBox Y/imH Image2.Visible = True End Sub 

图像属性

在这里输入图像说明