怎样用VC画坐标轴 并且标上自己想标的坐标 自己算坐标画嘛。或者http://blog.csdn.net/baita96/ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 大神 我如果想画一个横坐标长100mm,纵坐标400mm的坐标 ,然后还可以在坐标上画直线 怎么编程序呢 MoveToLineToTextOut就这么几个函数调用,画出每个细节 我也在做这个,我有这方面的资料,等我做好了也可以给你。先给你资料oid CSCommTestDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); } CFont font; font.CreateFont(13,0,0,0,FW_NORMAL,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_SWISS,NULL); CWnd *pWnd=GetDlgItem(IDC_STATIC_T); pWnd->Invalidate(); pWnd->UpdateWindow(); CFont *pOldFont; CDC *pDC = pWnd->GetDC(); pDC->Rectangle(0, 0,310,310); pOldFont=pDC->SelectObject(&font); //换字体 pDC->TextOut(2,2,"温度曲线"); CPen *pPenRed = new CPen(); //创建画笔对象 CPen *pPenBlack=new CPen; pPenBlack->CreatePen(PS_DOT,1,RGB(0,0,0)); pPenRed ->CreatePen(PS_SOLID, 1, RGB(255, 0, 0)); //红色画笔 //选中当前红色画笔,并保存以前的画笔 CGdiObject *pOldPen = pDC ->SelectObject(pPenRed); pDC ->MoveTo(20, 20); //绘制坐标轴 pDC ->LineTo(20, 290); //竖起轴 pDC ->LineTo(290,290); //水平轴 pDC->MoveTo(17,24);//y画箭头 pDC->LineTo(20,20); pDC->LineTo(23,24); pDC->MoveTo(286,287);//x轴画箭头 pDC->LineTo(290,290); pDC->LineTo(286,293); pDC->TextOut(27,20,"温度"); pDC->TextOut(27,32,"(℃)"); pDC->TextOut(150,292,"时间轴"); pDC->TextOut(7,50+0*40-5,"30"); pDC->TextOut(7,50+1*40-5,"25"); pDC->TextOut(7,50+2*40-5,"20"); pDC->TextOut(7,50+3*40-5,"15"); pDC->TextOut(7,50+4*40-5,"10"); pDC->TextOut(7,50+5*40-5,"5"); pDC->TextOut(7,50+6*40-5,"0"); pDC->SelectObject(pPenBlack); //换笔触 for (int i=0;40*i<240;i++) { pDC->MoveTo(20,50+i*40); pDC->LineTo(290,50+i*40); } pDC->SelectObject(pOldFont); pDC->SelectObject(pOldPen);}画出来的东东如下:: 让美工给你做张图,大小固定,然后贴到DC上,这样你就可以在DC上按照位置在坐标轴上面进行绘制了! 都是些GDI的绘图基础,MoveTo,lineTo,TextOut等等 有图有真相http://blog.csdn.net/baita96/ VC CListCtrl子项赋值问题,怎么解决? SetWindowRgn能够在单文档中使用吗? 一段仿真PE加载器行为的程序 有没有中文数字转阿拉伯数字的代码? 学习研究C++对用VC有什么帮助吗? 关于在VC中调用DLL遇到的问题 有了解东软飞利浦的吗? GDI+ 贴图问题 关于SQL查询 语句 如何改变按钮图标的大小使其适合按钮的大小 关于按钮处理自身BN_CLICK消息的问题 MFC实现绘图的方法
LineTo
TextOut
就这么几个函数调用,画出每个细节
oid CSCommTestDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
CFont font;
font.CreateFont(13,0,0,0,FW_NORMAL,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_SWISS,NULL);
CWnd *pWnd=GetDlgItem(IDC_STATIC_T);
pWnd->Invalidate();
pWnd->UpdateWindow();
CFont *pOldFont;
CDC *pDC = pWnd->GetDC();
pDC->Rectangle(0, 0,310,310); pOldFont=pDC->SelectObject(&font); //换字体 pDC->TextOut(2,2,"温度曲线"); CPen *pPenRed = new CPen(); //创建画笔对象
CPen *pPenBlack=new CPen;
pPenBlack->CreatePen(PS_DOT,1,RGB(0,0,0));
pPenRed ->CreatePen(PS_SOLID, 1, RGB(255, 0, 0)); //红色画笔
//选中当前红色画笔,并保存以前的画笔
CGdiObject *pOldPen = pDC ->SelectObject(pPenRed); pDC ->MoveTo(20, 20); //绘制坐标轴
pDC ->LineTo(20, 290); //竖起轴
pDC ->LineTo(290,290); //水平轴 pDC->MoveTo(17,24);//y画箭头
pDC->LineTo(20,20);
pDC->LineTo(23,24);
pDC->MoveTo(286,287);//x轴画箭头
pDC->LineTo(290,290);
pDC->LineTo(286,293); pDC->TextOut(27,20,"温度");
pDC->TextOut(27,32,"(℃)");
pDC->TextOut(150,292,"时间轴");
pDC->TextOut(7,50+0*40-5,"30");
pDC->TextOut(7,50+1*40-5,"25");
pDC->TextOut(7,50+2*40-5,"20");
pDC->TextOut(7,50+3*40-5,"15");
pDC->TextOut(7,50+4*40-5,"10");
pDC->TextOut(7,50+5*40-5,"5");
pDC->TextOut(7,50+6*40-5,"0"); pDC->SelectObject(pPenBlack); //换笔触
for (int i=0;40*i<240;i++)
{
pDC->MoveTo(20,50+i*40);
pDC->LineTo(290,50+i*40);
} pDC->SelectObject(pOldFont);
pDC->SelectObject(pOldPen);
}
画出来的东东如下::