VB中的MOUSEDOWN问题!

来源:百度知道 编辑:UC知道 时间:2024/05/12 11:00:55
用VB做了的读曲线软件.曲线是由好多个点连线起来显示在FORM的PICTURE1里面的!现在用MOUSEDOWN点击去曲线坐标.由于肉眼精度问题.无法准确点取那些点.都点在附近.有什么办法可以点上那些曲线的点.就近原则吧.离哪个近就显示哪个的坐标.曲线的点以外的不显示!

'新建窗体,添加command1,picture1,在picture1里添加shape1,复制粘贴下段代码:

Dim ypos(1 To 100) As Long, xpos(1 To 100) As Long '定义两个数组存放坐标

'初始化控件
Private Sub Form_Load()
Me.Tag = 0 '设置画过标志为0
Command1.Caption = "描点" '按钮标题
Picture1.BackColor = vbBlack 'picture1背景黑色
Picture1.AutoRedraw = True '设置重画标志为true
Shape1.Shape = 3 '设置shape1为圆形
Shape1.BorderWidth = 3 '边框宽度
Shape1.BorderColor = vbRed '边框颜色红色
Shape1.Height = 200 '高度
Shape1.Width = 200 '宽度
Shape1.Visible = False '不可见
End Sub

'描点
Private Sub Command1_Click()
Picture1.Cls '重新描点时刷新 picture1
Randomize '初始化随机函数
For i = 1 To 100 '循环为xpos,ypos赋值
xpos(i) = i * Picture1.Width \ 100 '横坐标单位为picture1宽度的百分之一
ypos(i) = Int(Rnd * (Picture1.Heig