VB 拜托帮帮忙看看到底怎么回事

来源:百度知道 编辑:UC知道 时间:2024/05/11 02:50:56
我有一组数据,数据是事先计算好的,分别是一组点的x,y坐标,放在Data数组里,现在想在Pic1里面绘制这些点,可是当我调用绘制点的模块DrawDataPoints时,程序既不报错,也不出现这些点,我不知道是不是DrawDataPoints不执行,在里面加了debug.print x;debug.print y,发现程序似乎又执行,想问问到底怎么回事,还有就是程序里面这个xmax,xmin,ymax,ymin的值应该在什么范围,我觉得应该用什么值都可以的,为什么vb总是因为xmax,xmin,ymax,ymin得值不合适报错?
Sub DrawDataPoints()
'画特征点
Dim Top As Integer
Dim Left As Integer
Dim x As Integer
Dim y As Integer
Top = (Form4.Pic1.ScaleHeight - ClipHeight) / 2
Left = (Form4.Pic1.ScaleWidth - ClipWidth) / 2
For i = 0 To RecordNumber - 1
'计算位置
x = Left + (Data(i, 0) - xmin) * ClipWidth / (xmax - xmin)
y = Top + (1 - (Data(i, 1) - ymin)) / (ymax - ymin) * ClipHeight
'显示点
Form4.Pic1.Circle (x, y), 30, RGB(255, 255, 0)
'打印坐标
Form4.Pic1.CurrentX = x - 200
Form4.Pic1.CurrentY = -y + 80
Form4.Pic1.Print "(" & Data(i, 0) & ", " & Data(i, 1) & ")"
Next i
End Sub

四个极值,你可以先从数组里循环比较取得。
四个值不当
x = Left + (Data(i, 0) - xmin) * ClipWidth / (xmax - xmin)
y = Top + (1 - (Data(i, 1) - ymin)) / (ymax - ymin) * ClipHeight
就会到职你把点会知道你看不到的地方去。

绘图前调用Form4.Pic1.Scale (xmin, ymin) - (xmax, ymax)

设置坐标刻度范围, 参数是左下角和右上角的坐标。看看帮助文件