VC6.0读取数据文件绘制二维图

标签:
vc6.0绘图二维 |
分类: VC |
VC6.0读取数据文件绘制二维图
目录
一、界面图
初始时
http://s16/bmiddle/67d069a9xb8b26d3b86af&690
打开数据文件
类型xxx.csv文件
内容
http://s16/middle/67d069a9xb8b26ea7716f&690
界面显示
http://s16/middle/67d069a9xb8b2704f9eff&690
二、程序说明
界面中显示图形表控件为静态文本框IDC_STATIC_DRAW
1、按钮“读取数据文件”对应函数
void CDraw2Dlg::OnBtnReadfile()
{
// TODO: Add your control notification handler code here
//打开数据文件
CFileDialog
//CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框
if(m_MyOpenDialog.DoModal() == IDOK)
}
else
{
}
ifstream infile(m_MyOpenDialog.GetPathName(),ios::in);
if(!infile)
{
}
int i=0;
char sig=',';
int rowk=0;
while(!infile.eof())
}
}
2、按钮“绘图”对应的函数
void CDraw2Dlg::OnBtnDraw()
{
// TODO: Add your control notification handler code here
//得到IDC_STATIC的句柄
CStatic*
//根据句柄得到dc
CDC*
//得到dc的客户区域,并创建画刷填充这个区域
CRect
pWnd->GetClientRect(&rc);
CBrush
brush.CreateSolidBrush(RGB(255,255,255));
pDC->FillRect(&rc,&brush);
//设置dc的裁减区域为客户区域,因为STATIC并不具有真正的dc
//而是其父窗口的dc,所以用裁减来避免画到客户区域外面去
CRgn
rgn.CreateRectRgn(rc.left,rc.top,rc.right,rc.bottom);
pDC->SelectClipRgn(&rgn);
//创建画笔并选中到pDC
CPen
pen.CreatePen(PS_SOLID,1,RGB(255,0,0));//1个像素,红色
pOldPen
//绘制y=sinx 0<=x<=10;
//pDC->MoveTo(0,0+(rc.bottom-rc.top)/2);
double y;
int x=0;
int dc=40;//左右上下留出的间隙
//绘制x轴
pDC->MoveTo(rc.left,rc.bottom-dc);
pDC->LineTo(rc.right,rc.bottom-dc);
//绘制y轴
pDC->MoveTo(rc.left+dc,rc.bottom);
pDC->LineTo(rc.left+dc,rc.top);
//标记刻度值
pDC->TextOut(rc.left,rc.bottom-13,"0");
pDC->TextOut(rc.right-10,rc.bottom-13,"x");
pDC->TextOut(rc.left,rc.top,"y");
int nx=15;
int ny=15;
//x轴方向上单位刻度间距
int dx=(rc.right-rc.left-dc)/nx;
for(int i=1;i<nx;i++)
{
}
int temp=0;
for(i=1;i<8;i++)
{
}
//y轴方向上单位刻度间距
int dy=(rc.bottom-rc.top-dc)/ny;
{
}
pDC->MoveTo(datafile[0][0]*dx+dc,rc.bottom-dc-datafile[0][1]);
for(i=1;i<8;i++)
{
}
}
3、按钮“清除绘图”对应函数
void CDraw2Dlg::OnBtnCleardraw()
{
// TODO: Add your control notification handler code here
//清除绘图
Invalidate();
}
4、头文件
xxx.cpp中头文件
#include <cmath>
#include <fstream>
#include <string>
using namespace std;
#include <iostream>
5、变量添加
在xxx.h中添加
public:
long datafile[5000][20];