在模块中声明:Public Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long在Form中放一个Picture控件,你可以弄得好看点,把这个Picture作为曲线显示的区域,把form的画图模式设为象素格式,再放一个定时器Timer控件,设定时间为1000ms,你可以设置快点。在Timer事件中,得到你想要显示的实时数据RD(就是曲线的y坐标值),设置一个你想要RD在某个范围内显示的值域(也就是y坐标的y0点和最大值ymax),(RD-y0)/(ymax-y0)再乘以Picture的高度(象素高度,也就是Height/15),得到RW,再用Picture的高度减去RW就可以了(因为Picture的高度是从上向下算的),再Line(Picture的宽度-1,上一次的RW)-(Picture的宽度,本次的RW)就可以了。然后用BitBlt向左移动一个象素就行了。哎呀,以前做了一个,你若想要我就发给你,讲了一堆都不知道说什么。希望看得懂^_^
Dim i as long Private Sub Form_Load() Timer1.Interval = 100 End SubPrivate Sub Timer1_Timer() Picture1.PSet (10 + i, i), RGB(0, 1, 8) i = i + 20 End Sub我应该这样应该也可行,画点!
我的QQ 242447677
邮箱 [email protected]
帖子已经结贴了
Private Sub Form_Load()
Timer1.Interval = 100
End SubPrivate Sub Timer1_Timer()
Picture1.PSet (10 + i, i), RGB(0, 1, 8)
i = i + 20
End Sub我应该这样应该也可行,画点!