为什么vb中用pset打点会出现随窗体图片框大小改变而失真?

来源:百度知道 编辑:UC知道 时间:2024/06/07 06:52:49
随着窗体长宽改变,打印出胡来的○会变成椭圆。。。。。

如果窗体或图像框的长宽不相等,你用scale设置坐标系,x轴和y轴的单位刻度对应的绝对长度就不相等了,所以,要在窗体改变大小时,重新设置坐标系,而且使得x轴和y轴的单位刻度是等长的,你在Form_Resize里写(rx,ry是你要画图的窗体或图像框相对宽度和相对高度)

Private Sub Form_Resize()
rx = Me.ScaleWidth
ry = Me.ScaleHeight
If ry <> 0 Then '以防最小化时出错
xy = rx / ry
r = 3000
Me.Scale (-r * xy, r)-(r * xy, -r)
End If
End Sub

代码贴出来看看