2016-01-26 50 views
1

我在VB6中創建了一個方程式圖形,並且我構建了一段代碼,用於顯示鼠標指針在圖片框上的座標(圖片框是曲線所在的位置顯示)。VB6鼠標事件以及與行的交互

我已經成功地做到了這一點,並且鼠標的座標顯示正常,直到將鼠標放置在軸上(由線功能構造)。當指針位於軸上時顯示的協調顯然是錯誤的。

當鼠標指針位於y軸上時,x值(而不是0)是一些隨機數。 當鼠標指針位於x軸上時,y值不是0,而是一些隨機數。

座標顯示在狀態欄上。以下是可幫助您解決此問題的代碼。

下面被顯示在狀態欄用於共ORDS的代碼:

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 

順便說一句:當鼠標指針正在繪製曲線圖,鼠標組合沒有問題。

任何洞察鼠標co-ords爲什麼在軸上搞砸會不勝感激。

回答

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")