分享,vb6画动态曲线,实时向右平移
小弟初学vb,写了个小东西
vb6画动态曲线,实时向右平移,新的点总是在最左边。
特点是用的都是api,可以方便的换到其他语言。
不是每次重绘所有曲线,用的是在内存里存了一个DC
完整源码以上传,等等才能看到
Private Sub Form_Load() t = 0 interval = 5 Pts(0).x = 0 Pts(0).y = 0 Dim r As rect '内存dc准备 hdcMem = CreateCompatibleDC(0) mBitmap = CreateCompatibleBitmap(GetDC(0), 800, 600) '光创建DC的话,没有大小,不能存(我是这么理解的) SelectObject hdcMem, mBitmap SetBkMode hdcMem, TRANSPARENT SetRect r, 0, 0, 800, 600 FillRect hdcMem, r, 0 Randomize End SubPrivate Sub Timer1_Timer() rect.Bottom = 600 rect.Left = 0 rect.Right = 800 rect.Top = 0 data(icount Mod 20) = rnd() ptlast.x = interval If icount = 0 Then ptlast.y = 0 ElseIf (icount Mod 20) = 0 Then ptlast.y = data(19) Else ptlast.y = data((icount Mod 20) - 1) End If t = t + interval ptnow.x = 0 ptnow.y = data(icount Mod 20) icount = icount + 1 BitBlt hdcMem, 0, 0, 600, 800, Picture1.hdc, 0, 0, vbSrcCopy Call Picture1.Cls MoveToEx Picture1.hdc, ptlast.x, ptlast.y, Pts(3) LineTo Picture1.hdc, ptnow.x, ptnow.y BitBlt Picture1.hdc, interval + 1, 0, 600, 800, hdcMem, 0, 0, vbSrcCopy End Sub