vb实时曲线绘制 20

我想绘制横坐标为时间的曲线,当曲线超出picture的范围时,曲线自动向左依次移动,然后横坐标时间的显示上需要实时更新,求代码!!!... 我想绘制横坐标为时间的曲线,当曲线超出picture的范围时,曲线自动向左依次移动,然后横坐标时间的显示上需要实时更新,求代码!!! 展开
 我来答
su_long
2013-01-08 · TA获得超过283个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:116万
展开全部

这个要用两个图片框。

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

 

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

 

这个是我写的。

 

就是你要的效果。

 

 

 

 

 

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
chinaboyzyq
2013-01-07 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3239万
展开全部
从下一个点开始重新画。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lin7zi9han
2013-01-10
知道答主
回答量:53
采纳率:0%
帮助的人:22.7万
展开全部
推荐用tchart控件画图 很方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式