Private Sub Form_Load() Form1.Show Form1.Height = Form1.Width Form1.AutoRedraw = True Form1.Scale (0, 0)-(12, 12) Form1.DrawWidth = 2 Line (6, 0)-(6, 12), vbRed Line (0, 6)-(12, 6), vbRed For I = 0 To 12 Line (5.9, I)-(6, I), vbRed If I <> 6 Then CurrentY = CurrentY - 0.2 Else CurrentY = CurrentY + 0.2 End If CurrentX = 5.3 Print (6 - I) Next For I = 0 To 12 Line (I, 6)-(I, 6.1), vbRed CurrentY = 6.3 CurrentX = CurrentX - 0.3 If I <> 6 Then Print -1 * (6 - I) End If Next End Sub
用currentx=*:currenty=*:print"*" 语句会出现问题。如下方法可以实现刻度标注。另外用mschart控件在picture1中通过点击一点,在text1中显示坐标。 Picture1.Scale (-10, 70)-(110, -5) For i = 70 To 0 Step -10 Picture1.Line (-10, i)-(-8, i)Picture1.Print i Next i For j = 0 To 110 Step 10 Picture1.Line (j, -5)-(j, -1)Picture1.Print j / 10 Next j
http://download.csdn.net/source/1483925
Form1.Show
Form1.Height = Form1.Width
Form1.AutoRedraw = True
Form1.Scale (0, 0)-(12, 12)
Form1.DrawWidth = 2
Line (6, 0)-(6, 12), vbRed
Line (0, 6)-(12, 6), vbRed
For I = 0 To 12
Line (5.9, I)-(6, I), vbRed
If I <> 6 Then
CurrentY = CurrentY - 0.2
Else
CurrentY = CurrentY + 0.2
End If
CurrentX = 5.3
Print (6 - I)
Next
For I = 0 To 12
Line (I, 6)-(I, 6.1), vbRed
CurrentY = 6.3
CurrentX = CurrentX - 0.3
If I <> 6 Then
Print -1 * (6 - I)
End If
Next
End Sub
假设MouseDown为(x1,y1),坐标原点(x0,y0)
那么鼠标点击时显示的坐标就为(x1-x0,y1-y0)
但有个疑问:如何判断鼠标点击在曲线上了呢?
picture2.currentX=0:Picture2.currentY=800int"Y"
picture2.currentX=3000:picture2.currentY=0:print"X"
后X ,0,Y显示不了,是由于我设置picture2窗口大小的问题? 我调整变小后也一样看不到,不清楚什么原因。
Picture1.Scale (-10, 70)-(110, -5)
For i = 70 To 0 Step -10
Picture1.Line (-10, i)-(-8, i)Picture1.Print i
Next i
For j = 0 To 110 Step 10
Picture1.Line (j, -5)-(j, -1)Picture1.Print j / 10
Next j