我想用vb画一个方格64*64。本来可以在form上用line控件一条一条画。但是我想用函数line画出来。所以下面代码。Private Sub Form_Activate()
Dim i As Integer
Dim GridCount As Integer
GridCount = 64
For i = 0 To GridCount
Line (0, i * 120)-(GridCount * 120, i * 120), &HFF0000
Line (i * 120, 0)-(i * 120, GridCount * 120), &HFF0000
Next i
End Sub
我把代码加到了activate里面。 出现了问题。打开程序可以画出方格,但是最小最大化之后方格就没有了。

解决方案 »

  1.   

    把FORM1的AUTOREDRAW设置为TRUE,在循环结束时FORM1.REFRESH就看到了,以后也不会消失。
      

  2.   

    把代码放到PAINT事件里:Private Sub Form_Paint()
        Dim i As Integer
        Dim GridCount As Integer
        
        GridCount = 64
        For i = 0 To GridCount
        Line (0, i * 120)-(GridCount * 120, i * 120), &HFF0000
        Line (i * 120, 0)-(i * 120, GridCount * 120), &HFF0000
        Next i
    End Sub========================
    免费的学习、交流、源码、工具网站,欢迎大家访问!
    http://www.j2soft.cn/
      

  3.   

    好多高人呀
    看来问题已经解决了
    从一个新手的角度 我建议楼主 以后画图的时候 
    先放一个picture 把AUTOREDRAW属性设置为TRUE
    设置好picture的坐标
    然后在picture上画图 会好一些
    方法都一样 把line 换成 picture1.line
      

  4.   

    把窗体的AutoRedraw属性设置为True