vb实时曲线绘制

2024-12-21 05:53:49
推荐回答(3个)
回答1:

这个要用两个图片框。

autoredraw都设置成true。

一个隐藏,一个显示。

一个在背后画好,然后再显示出来。

 

用一个也可以,不过会闪。

 

当时间值小于图片宽度时,你应该知道怎么画。

 

当时间值大于图片框宽度时。

 

pic1.paintpicture pic1.image,0,0,pic1.scalewidth-1,pic1.scaleheight,1,0,pic1.scalewidth-1,pic1.scaleheight

'这个代码的作用是使图片框整个左移一个像素,右边空一个像素出来。

 

然后曲线的点就画在最后一个像素的位置上。

 

外面看,就是不停的左移了,有点像windows那个任务管理器里的。

 

记住。autoredraw设置成true

 

 

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

 

我一般的做法是,用两个图片框,一个隐藏,一个显示。图片框1的picture属性保存一个网格。

两个框框都一样大小。

隐藏的图片框里面,不停的循环画,这样。

pic1隐藏,pic2显示。

 

pic1的autoredraw必须ture,pic2可以不用,也可以是。

 

sub timer1_timer()

    xpos=time_p mod pic1.scalewidth

    time_p= time_p+1

    pic1.paintpicture pic1.picture,xpos,0,pic1.scaleheight,xpos,0,1,pic1.scaleheight

    '上面这句清楚原来的点,显示出网格

    'pic1.line ...........................画你要的点或者线。

    pic2.paintpicture pic1.image,0,0,pic1.scalewidth-xpos,pic1.scaleheight,xpos,0,pic1.scalewidth-xpos,pic1.scaleheight

    '画前半部分

    pic2.paintpicture pic1.image,pic1.scalewidth-xpos,0,xpos,pic1.scaleheight,0,0,xpos,pic1.scaleheight

      '画后半部分

 

end sub

 

代码是我随便写的,没有试,有些地方可能有错,自己调试吧

 

这个是我写的。

 

就是你要的效果。

 

 

 

 

 

回答2:

从下一个点开始重新画。

回答3:

推荐用tchart控件画图 很方便