跪求:现在可以实现将存储好的数据用MFC画成波形图,但是只能显示静态的,如何画动态的波形图啊?

LIHANG01234 2016-03-01 10:24:04
CRect rect;



float a[2050];
int i;
int j;
CString str;

FILE *file;





file =fopen("F:\\data2.txt","r");
for(i=0;i<2050;i++)
{
fscanf(file,"%f,",&a[i]);
}




for(j=0;j<1000;j++)
{ dc.MoveTo(j*0.5,0-a[j]*220);


dc.LineTo((j+1)*0.5,0-a[j+1]*220);

}





fclose(file);
...全文
183 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenyi0106 2016-03-01
  • 打赏
  • 举报
回复
工业化流水线不可能从头到尾都是一个人做。 流水线上不同的工作,是由不同的人来完成的。 流水线看成是你的数据流,画波形图一个工种的工人; 它面前是转动的流水线,它所面对的工作区是不变的,如果工作区内有一个部件,那么它就完成这一个部件的工作,如果有10个部件,那它就完成这10个部件的工作。 在工作区不变,流水线在不停运转的情况下,工人的工作区内的部件是在不断变化的,你只要处理这块变化区域就可以了。 这个例子应该很好懂了,在不懂,就找本书啃吧
LIHANG01234 2016-03-01
  • 打赏
  • 举报
回复
引用 1 楼 shenyi0106 的回复:
先弄清楚什么是“静态”,什么是“动态”。 所谓“动态”,就是连续显示的静态。 若要动态显示,可以设定一个显示范围,然后不断的修改这个显示范围内的数据,然后invalidate,让窗口重绘这个范围内的所有数据,这就是动态
如何不断修改这个显示范围内的数据呢?如果要用到invalidate()的话,必须要把画图的程序放在OnPaint里面吗?
LIHANG01234 2016-03-01
  • 打赏
  • 举报
回复
引用 1 楼 shenyi0106 的回复:
先弄清楚什么是“静态”,什么是“动态”。 所谓“动态”,就是连续显示的静态。 若要动态显示,可以设定一个显示范围,然后不断的修改这个显示范围内的数据,然后invalidate,让窗口重绘这个范围内的所有数据,这就是动态
我就是想这么做,不知道应该怎么写,我加了一个定时器,然后每秒invalidate一次,可是,波形图就只能显示一秒然后就刷新掉了。
shenyi0106 2016-03-01
  • 打赏
  • 举报
回复
先弄清楚什么是“静态”,什么是“动态”。 所谓“动态”,就是连续显示的静态。 若要动态显示,可以设定一个显示范围,然后不断的修改这个显示范围内的数据,然后invalidate,让窗口重绘这个范围内的所有数据,这就是动态

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧