你这是画点还是画圆。用你的代码全是显示 点。
你会用 PaintPicture 命令吗?
添加一个 picture2 ,要求 AutoRedrwa 设为真,宽度与 picture1 相等,高度 > 100+R*2 15
Private Sub Command1_Click()
Dim r As Long, x0 As Long, y0 As Long
r = 10
Picture1.FillStyle = vbFSSolid
Picture1.FillColor = vbRed
y0 = 100
For x0 = 100 To 10000 Step 30
'先画一行,作为样
Picture2.Circle (x0, y0), r, vbBlue
Next x0
For y0 = 100 To 10000 Step 30
'按行复制,一行一行的复制,范围统统修正为加上半径
Picture1.PaintPicture Picture2.Image, 100 - r, y0 - r, 10000 + r, 30 + r, 100 - r, 100 - r, 10000 + r, 30 + r
Next y0
End Sub
Private Sub Picture1_Paint()
'如果picture1 不启用自动重绘(AutoRedrwa)属性时,可以很大情况下加快绘图速度,但无法得到持久性图形
'这个函数为响应重绘图形,手动重绘
Dim r As Long, y0 As Long
r = 10
For y0 = 100 To 10000 Step 30
'按行复制,一行一行的复制,范围统统修正为加上半径
Picture1.PaintPicture Picture2.Image, 100 - r, y0 - r, 10000 + r, 30 + r, 100 - r, 100 - r, 10000 + r, 30 + r
Next y0
End Sub