当前位置:编程学习 > VB >>

VB6.0中,我用picture控件想要显示多个动态曲线不能正常运行怎么弄??求解答!!!

现在我曲线运行到头以后,总是要等半天才能继续运行下去,过一阵有时还会出现不止一条曲线,不知道怎么回事。还有我不知道怎么才能让曲线按label1中数据运行。怎么弄??求解答,求代码……
Private Sub pic()                                      ' 动态曲线

    Dim f As Double
    
    Picture1.Scale (480, 480)-(0, 0)                   '创建笛卡尔坐标系统的范围
    Picture2.Scale (480, 480)-(0, 0)
    Picture3.Scale (480, 480)-(0, 0)
    Picture4.Scale (480, 480)-(0, 0)

    For f = 1 To 50
    
    Picture1.Line (0, 60 * f)-(1000, 60 * f)           'picture1横线 x轴
    Picture2.Line (0, 60 * f)-(1000, 60 * f)
    Picture3.Line (0, 60 * f)-(1000, 60 * f)
    Picture4.Line (0, 60 * f)-(1000, 60 * f)
    
    Next f

    For f = 1 To 30
    
    Picture1.Line (f * 60, 0)-(f * 60, 1000)           'picture竖线 y轴
    Picture2.Line (f * 60, 0)-(f * 60, 1000)
    Picture3.Line (f * 60, 0)-(f * 60, 1000)
    Picture4.Line (f * 60, 0)-(f * 60, 1000)
    
    Next f
     
End Sub

Private Sub Timer3_Timer()

Randomize                          '随机
 Static Flag As Integer
 Static Flag1 As Integer
    Static Count As Integer
    Static count1 As Integer

    a = Rnd * 300
    num = a

    b(Count) = num
    If Count >= 30 Then

        Count = 30
'        Picture1.PaintPicture Picture1.Image, 0, 0
        Picture1.PaintPicture Picture1.Image, 0, 0
        Picture1.Cls
        
        Picture2.PaintPicture Picture1.Image, 0, 0
        Picture2.Cls
        
        Picture3.PaintPicture Picture1.Image, 0, 0
        Picture3.Cls
        
        Picture4.PaintPicture Picture1.Image, 0, 0
        Picture4.Cls
        
        Picture1.ForeColor = &HE0E0E0         'vbGreen   picture网格合纵竖纵线的颜色     picture运行到头的网格+曲线颜色
        Picture2.ForeColor = &HE0E0E0
        Picture3.ForeColor = &HE0E0E0
        Picture4.ForeColor = &HE0E0E0
        
        For f = 1 To 100

            Picture1.Line (0, 60 * f)-(2000, 60 * f)
            Picture2.Line (0, 60 * f)-(2000, 60 * f)
            Picture3.Line (0, 60 * f)-(2000, 60 * f)
            Picture4.Line (0, 60 * f)-(2000, 60 * f)
            
        Next f

        For f = 1 To 30
            Picture1.Line (f * 60, 0)-(f * 60, 2000)
            Picture2.Line (f * 60, 0)-(f * 60, 2000)
            Picture3.Line (f * 60, 0)-(f * 60, 2000)
            Picture4.Line (f * 60, 0)-(f * 60, 2000)
               
        Next f
        a = Rnd * 480
        b(30) = a

        Flag = b(0)

        For f = 0 To 29
            b(f) = b(f + 1)
        Next f

        Picture1.Line (60, Flag)-((f + 1) * 60, b(0))
        Picture2.Line (60, Flag)-((f + 1) * 60, b(0))
        Picture3.Line (60, Flag)-((f + 1) * 60, b(0))
        Picture4.Line (60, Flag)-((f + 1) * 60, b(0))

    For f = 0 To 29
        Picture1.ForeColor = vbGreen                          'picture运行到头后的曲线颜色
        Picture2.ForeColor = vbGreen
        Picture3.ForeColor = vbGreen
        Picture4.ForeColor = vbGreen
              
        Picture1.Line (f * 48, Flag)-((f + 1) * 48, b(f))
        Picture2.Line (f * 48, Flag)-((f + 1) * 48, b(f))
        Picture3.Line (f * 48, Flag)-((f + 1) * 48, b(f))
        Picture4.Line (f * 48, Flag)-((f + 1) * 48, b(f))

        Flag = b(f)
'        Debug.Print Flag1

    Next f

    Exit Sub

End If

    a = Rnd * 240
    num = a

    b(Count) = num

    Picture1.ForeColor = vbGreen                          'picture1界面开始时曲线颜色为绿色
    Picture2.ForeColor = vbGreen
    Picture3.ForeColor = vbGreen
    Picture4.ForeColor = vbGreen
    
    Picture1.Line (Count * 48, Flag)-((Count + 1) * 48, num)
    Picture2.Line (Count * 48, Flag)-((Count + 1) * 48, num)
    Picture3.Line (Count * 48, Flag)-((Count + 1) * 48, num)
    Picture4.Line (Count * 48, Flag)-((Count + 1) * 48, num)
    
    Flag = a
Count = Count + 1

'Picture1.CurrentX = Label1(4).Caption               '设置输出的X位置
'Picture1.CurrentY = 0     ' Text(0).Text            '设置输出的Y位置
'
'Picture2.CurrentX = Label1(5).Caption               '设置输出的X位置
'Picture2.CurrentY = 0                               '设置输出的Y位置
'
'Picture3.CurrentX = Label1(0).Caption
'
'Picture4.CurrentX = Label1(2).Caption

End Sub vb6.0 动态曲线 串口通讯 label
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,