void CWorkView::OnDraw(CDC* pDC)
{
// TODO: Add your specialized code here and/or call the base class
CRect rect;
GetClientRect(&rect);
pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetViewportOrg(rect.right-685,rect.bottom-575);
pDC->SetViewportExt(rect.right-200,rect.bottom);
pDC->SetWindowOrg(0,0);
pDC->SetWindowExt(1000,1000);
pDC->SetBkMode(TRANSPARENT); // 设置透明
CString str;
pDC->Rectangle(0,0,rect.right-185,rect.bottom+25);//画一个矩形
CPen *pPenRed=new CPen(); //创建画笔对象
pPenRed->CreatePen(PS_SOLID,1,RGB(255,0,0));//红色画笔
CPen *pPen=NULL;
CGdiObject *pOldPen=pDC->SelectObject(pPenRed);//保存当前红色画笔
pDC->MoveTo(20,20);//绘制坐标轴
pDC->LineTo(20,rect.bottom-20);//Y
pDC->LineTo(815,rect.bottom-20);//x
//绘制x轴刻度
for(int i=0;i<17;i++) //绘制最高刻度
{
str.Format("%d",i*128);
pDC->TextOut(30+48*i,rect.bottom,str);//控制间距 //绘制想x轴刻度
pDC->MoveTo(45+48*i,rect.bottom);
pDC->LineTo(45+48*i,rect.bottom-20);
} for(i=0;i<33;i++) //绘制中间刻度
{
//绘制想x轴刻度
pDC->MoveTo(45+24*i,rect.bottom-5);
pDC->LineTo(45+24*i,rect.bottom-20);
} for(i=0;i<128;i++) //绘制最低刻度
{
//绘制想x轴刻度
pDC->MoveTo(45+6*i,rect.bottom-10);
pDC->LineTo(45+6*i,rect.bottom-20);
}//绘制y轴刻度
for(i=1;i<=7;i++)
{
str.Format("%d",i);
pDC->TextOut(2,rect.left+740-100*i,str); //标度
//绘制Y轴刻度
pDC->MoveTo(20,rect.left+740-100*i);
pDC->LineTo(35,rect.left+740-100*i);
} for(i=2;i<=13;i++)
{
//绘制Y轴刻度
pDC->MoveTo(20,rect.left+740-50*i);
pDC->LineTo(30,rect.left+740-50*i);
} for(i=10;i<70;i++)
{
//绘制Y轴刻度
pDC->MoveTo(20,rect.left+740-10*i);
pDC->LineTo(25,rect.left+740-10*i);
}const double PI=3.1415926;
int a [50];
srand(GetTickCount());
for(int i1=10;i1<50;i1++)
{
CString s;
a[i1]=rand()%50;
//在坐标系中如何将随机产生的数据绘制成一条曲线呢??
}
}
{
// TODO: Add your specialized code here and/or call the base class
CRect rect;
GetClientRect(&rect);
pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetViewportOrg(rect.right-685,rect.bottom-575);
pDC->SetViewportExt(rect.right-200,rect.bottom);
pDC->SetWindowOrg(0,0);
pDC->SetWindowExt(1000,1000);
pDC->SetBkMode(TRANSPARENT); // 设置透明
CString str;
pDC->Rectangle(0,0,rect.right-185,rect.bottom+25);//画一个矩形
CPen *pPenRed=new CPen(); //创建画笔对象
pPenRed->CreatePen(PS_SOLID,1,RGB(255,0,0));//红色画笔
CPen *pPen=NULL;
CGdiObject *pOldPen=pDC->SelectObject(pPenRed);//保存当前红色画笔
pDC->MoveTo(20,20);//绘制坐标轴
pDC->LineTo(20,rect.bottom-20);//Y
pDC->LineTo(815,rect.bottom-20);//x
//绘制x轴刻度
for(int i=0;i<17;i++) //绘制最高刻度
{
str.Format("%d",i*128);
pDC->TextOut(30+48*i,rect.bottom,str);//控制间距 //绘制想x轴刻度
pDC->MoveTo(45+48*i,rect.bottom);
pDC->LineTo(45+48*i,rect.bottom-20);
} for(i=0;i<33;i++) //绘制中间刻度
{
//绘制想x轴刻度
pDC->MoveTo(45+24*i,rect.bottom-5);
pDC->LineTo(45+24*i,rect.bottom-20);
} for(i=0;i<128;i++) //绘制最低刻度
{
//绘制想x轴刻度
pDC->MoveTo(45+6*i,rect.bottom-10);
pDC->LineTo(45+6*i,rect.bottom-20);
}//绘制y轴刻度
for(i=1;i<=7;i++)
{
str.Format("%d",i);
pDC->TextOut(2,rect.left+740-100*i,str); //标度
//绘制Y轴刻度
pDC->MoveTo(20,rect.left+740-100*i);
pDC->LineTo(35,rect.left+740-100*i);
} for(i=2;i<=13;i++)
{
//绘制Y轴刻度
pDC->MoveTo(20,rect.left+740-50*i);
pDC->LineTo(30,rect.left+740-50*i);
} for(i=10;i<70;i++)
{
//绘制Y轴刻度
pDC->MoveTo(20,rect.left+740-10*i);
pDC->LineTo(25,rect.left+740-10*i);
}const double PI=3.1415926;
int a [50];
srand(GetTickCount());
for(int i1=10;i1<50;i1++)
{
CString s;
a[i1]=rand()%50;
//在坐标系中如何将随机产生的数据绘制成一条曲线呢??
}
}
解决方案 »
- HOOK QQ的send sendto WSARecvFrom WSARecv这四个函数后。。。
- 属性页 切换 图形重绘问题
- 手上有个别人给的DLL,有什么办法知道它是DEBUG版还是RELEASE版?
- 求教,在View中加入Calender控件,如何将其关闭?
- 新手初次接触:动态生成IE浏览器控件的问题
- onaccept
- 请问如何测试数据采集的程序阿???
- 如何在局域网中向一台机器发送窗口?
- 打印初级问题,见者有分,对不起基础类我进不去!
- 关于NetApi的编译问题
- 跪求高手:关于菜单命令中的复制、剪切、粘贴、删除的灰色菜单的设置和处理请教!
- 送分100分:谁可以为我提供一份 实用visual c++ 6.0教程电子书
http://download.csdn.net/source/2308688
急用就自己下个控件在www.codeproject.com上搜 CGraphWnd
看看这个