欢迎来到天天文库
浏览记录
ID:16118641
大小:107.00 KB
页数:21页
时间:2018-08-08
《在mfc中怎样把数据保存为txt文档的方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MFC中保存数据为TXT的方法1.首先:创建MFC工程,工程名XX,基于对话框的文件,最后完成。2.在对话框中添加控件两个EditBox、。用ClassWizard向导,设置EditBox的ID为XXXXX。添加Button消息响应为voidXXXXX::OnSave()3.在voidXXXXX::OnSave()中添加如下代码:CStringstrText(_T(""));GetDlgItemText(IDC_EDIT,strText);//获取editbox中的数据try{CStdioFilefile;file.Open(_T("D:\abc.txt"),CFile::m
2、odeCreate
3、CFile::modeWrite
4、CFile::typeText);//打开D盘的txt文件file.WriteString(strText);//写入editbox中的数据file.Close();}catch(CFileException*e){e->ReportError();e->Delete();}CStringpath="d:\text.txt"; CStringtemp; CFilefile; floata=12.2,b=123.3,c=1234.4; file.Open(path,CFile:
5、:modeCreate
6、CFile::modeReadWrite); temp="通道1 通道2 通道3r"; file.Write(temp,temp.GetLength()); CStringm_str; for(inti=0;i<1;i++) { temp.Empty(); m_str.Format("%.1f ",a); temp+=m_str; m_str.Format("%.1f ",b);
7、 temp+=m_str; m_str.Format("%.1f ",c); temp+=m_str; temp+="r"; file.Write(temp,temp.GetLength()); } file.Close();MFC绘制动态曲线,用双缓冲绘图技术防闪烁 2011-07-1410:34:54
8、 分类: 学习笔记
9、 标签:双缓冲绘图技术 mfc 动态曲线
10、举报
11、字号 订阅先上效果图随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着
12、更新。一、如何绘制动态曲线。所谓动画,都是一帧一帧的图像连续呈现在用户面前形成的。所以如果你掌握了如何绘制静态曲线,那么学会绘制动态曲线也不远啦,只需要创建一个定时器(比如调用MFC中的SetTimmer函数),每隔一定时间(比如1ms),调用OnPaint或者OnDraw函数,绘制当前帧图像即可。这里需要注意的是,绘制图像的代码需要写在OnPaint或者OnDraw函数中,因为当窗口失效(比如最小化)恢复后,会重新绘制当前窗口,窗口之前的自绘图像会丢失。而把绘图代码写在OnPaint或者OnDraw中就是为了让窗口每次重绘时也能重绘你自己画的图像,避免出现窗口最小化再恢复后,
13、自己画的图像丢失的尴尬情况。另外绘制当前帧图像之前,记得用InvalidateRect函数清除上一帧图像,不然各帧图像会背景的堆叠。比如我想清除窗口中(0,0)和(100,100)这两点确定的矩形中的图像,代码如下: CRectRect; Rect.top=0; Rect.left=0; Rect.bottom=100; Rect.right=100; InvalidateRect(Rect);根据上面的思路,我们每隔一定时间绘制一幅图像,可是如果每次绘制的图像都是完全相同的,那么图像看起来也是静态的。如何让曲线动起来呢?我们需要为自己绘图的代码设计一个
14、输入,即在当前时刻曲线上各个点的坐标信息。随着时间的推移,令曲线上各个点的坐标随之变化,这样每次绘图都是基于当前时刻的曲线坐标绘制的,控制好曲线坐标的变化,也就能让你绘制的曲线乖乖的动起来。上面提到了曲线上各个点的坐标信息,这个信息可以用多种数据结构储存,不过笔者推荐使用STL中的deque数据结构储存。为什么呢?需求决定选择。让我们先想想在绘制图像的过程中需要对这个数据进行哪些操作。1、需要遍历这个数据,获取各个点的坐标以便绘图,所以选择的数据结构必须有较高的遍历效率。2、当曲线上的点横向
此文档下载收益归作者所有