📄 xyplot.cpp
字号:
// XYPlot.cpp: implementation of the CXYPlot class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CreatePen.h"
#include "XYPlot.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CXYPlot::CXYPlot()
{
}
CXYPlot::~CXYPlot()
{
}
void CXYPlot::SetCoordinationRC(CRect& rect)
{
m_CoordinateRc.left = rect.left + 50;
m_CoordinateRc.bottom = rect.bottom - 50;
m_CoordinateRc.right = rect.right - 100;
m_CoordinateRc.top = rect.top + 50;
}
void CXYPlot::DrawCoordination(CDC* pDC)
{
//画x,y坐标轴
pDC->MoveTo(m_CoordinateRc.left, m_CoordinateRc.bottom);
pDC->LineTo(m_CoordinateRc.right, m_CoordinateRc.bottom); //x轴
pDC->MoveTo(m_CoordinateRc.left, m_CoordinateRc.bottom);
pDC->LineTo(m_CoordinateRc.left, m_CoordinateRc.top); //y轴
//画x轴上的箭头
pDC->MoveTo(m_CoordinateRc.right, m_CoordinateRc.bottom);
pDC->LineTo(m_CoordinateRc.right - 14, m_CoordinateRc.bottom - 3);
pDC->MoveTo(m_CoordinateRc.right, m_CoordinateRc.bottom);
pDC->LineTo(m_CoordinateRc.right - 14, m_CoordinateRc.bottom + 3);
//画y轴上的箭头
pDC->MoveTo(m_CoordinateRc.left, m_CoordinateRc.top);
pDC->LineTo(m_CoordinateRc.left - 3, m_CoordinateRc.top + 14);
pDC->MoveTo(m_CoordinateRc.left, m_CoordinateRc.top);
pDC->LineTo(m_CoordinateRc.left + 3, m_CoordinateRc.top + 14);
//画x轴刻度
int i = 0, j;
CString str;
while(i< (m_CoordinateRc.right - 50)){
str.Format("%d", i);
pDC->MoveTo(m_CoordinateRc.left + i, m_CoordinateRc.bottom);
pDC->LineTo(m_CoordinateRc.left + i, m_CoordinateRc.bottom - 10);
pDC->TextOut(m_CoordinateRc.left + i - 10, m_CoordinateRc.bottom + 10, str);
j = 0;
for(j= 0; j< 50;){
if((i+50) > (m_CoordinateRc.right - 50))
break;
j += 5;
pDC->MoveTo(m_CoordinateRc.left + i + j, m_CoordinateRc.bottom);
pDC->LineTo(m_CoordinateRc.left + i + j, m_CoordinateRc.bottom - 5);
}
i += 50 ;
}
//画y轴刻度
BOOL bFirst = TRUE;
//i = m_CoordinateRc.top + 14;
i = m_CoordinateRc.bottom ;
int scale = 0;
while(i > (m_CoordinateRc.top + 14)){
str.Format("%d", scale);
pDC->MoveTo(m_CoordinateRc.left, i) ;
pDC->LineTo(m_CoordinateRc.left + 10, i);
pDC->TextOut(m_CoordinateRc.left - 50, i - 6, str);
j = 0;
for(j= 0; j< 50;){
if((i - 50) < (m_CoordinateRc.top + 14))
break;
j += 5;
pDC->MoveTo(m_CoordinateRc.left, i - j);
pDC->LineTo(m_CoordinateRc.left + 5, i - j);
}
scale += 50;
i -= 50 ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -