VB6鼠标事件和与线的交互

时间:2016-01-26 06:19:47

标签: vb6

我在VB6中制作了一个方程式grapher,我构造了一段代码,当它位于图片框上时,显示鼠标指针的坐标(图片框是曲线显示的地方)。

我已经成功地完成了这项工作,并且鼠标的坐标显示正常,直到将鼠标放在轴上(由线功能构建)。当指针在轴上时显示的合并显然是错误的。

当鼠标指针位于y轴上时,x值而不是0是一些随机数。 当鼠标指针位于x轴上时,y值而不是0,是一些随机数。

坐标显示在状态栏上。以下是可以帮助您解决此问题的代码。

以下是状态栏上显示的合作代码:

Private Sub picGraph_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
StatusBar1.Panels(1).Text = "x: " & X & " - y: " & Y

End Sub

以下是构建轴的代码:

Public Sub Form_Activate()

Dim xmin As Single
Dim xmax As Single
Dim Dx As Single
Dim ymin As Single
Dim ymax As Single
Dim i As Integer


'set default bounds and Dx

xmin = -10
xmax = 10
ymin = -10
ymax = 10
Dx = 0.1

'scale graph to default bounds

picGraph.Scale (xmin, ymax)-(xmax, ymin)

'draw graph axis

picGraph.Cls
picGraph.Line (xmin, 0)-(xmax, 0), vbRed
picGraph.Line (0, ymin)-(0, ymax), vbRed

For i = 0 To xmin Step -1
    picGraph.Line (i, -0.25)-Step(0, 0.5), vbBlue
Next i
For i = 0 To xmax
    picGraph.Line (i, -0.25)-Step(0, 0.5), vbBlue
Next i
For i = 0 To ymin Step -1
    picGraph.Line (-0.25, i)-Step(0.5, 0), vbBlue
Next i
For i = 0 To ymax
        picGraph.Line (-0.25, i)-Step(0.5, 0), vbBlue
Next i

End Sub

顺便说一句:当鼠标指针在绘制的曲线上时,鼠标指针没有问题。

任何有关鼠标合并在轴上被弄乱的原因的任何见解都将非常感激。

1 个答案:

答案 0 :(得分:2)

显示给您的数字是以工程符号表示的。因此,不是向您显示0.002,而是将其显示为2E-3。 如果更改StatusBar1.Panels(1).Text =" x:" &安培; X& " - y:" &安培;如果您有格式,您可能会发现它更接近您的需求。所以它会像

StatusBar1.Panels(1).Text = "x: " & format$(X,"0.00") & " - y: " & format$(Y,"0.00")