📄 graph.cpp
字号:
// Graph.cpp: implementation of the CGraph class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
//#include "Graphic.h"
#include "Graph.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
IMPLEMENT_SERIAL(CGraph, CObject, 1 )
CGraph::CGraph()
{
}
CGraph::CGraph(UINT m_lineTye,CPoint m_ptOrg,CPoint m_ptEnd,COLORREF m_lineColor,UINT m_lineWidth,BOOL m_fill)
{
this->m_lineTye=m_lineTye;
this->m_ptOrg=m_ptOrg;
this->m_ptEnd=m_ptEnd;
this->m_lineColor=m_lineColor;
this->m_lineWidth=m_lineWidth;
this->m_fill=m_fill;
}
CGraph::~CGraph()
{
}
void CGraph::Serialize(CArchive& ar)
{
if(ar.IsStoring())
{
ar<<m_lineTye<<m_ptOrg<<m_ptEnd<<m_lineColor<<m_lineWidth<<m_fill;
}
else
{
ar>>m_lineTye>>m_ptOrg>>m_ptEnd>>m_lineColor>>m_lineWidth>>m_fill;
}
}
void CGraph::Draw(CDC *pDC)
{
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
CBrush *pOldBrush=pDC->SelectObject(pBrush);
CPen pen;
pen.CreatePen(PS_SOLID,m_lineWidth,m_lineColor);
CPen* pOldpen=pDC->SelectObject(&pen);
switch(m_lineTye)
{
case 1:
pDC->SetPixel(m_ptEnd,RGB(0,0,0));
break;
case 2:
pDC->MoveTo(m_ptOrg);
pDC->LineTo(m_ptEnd);
break;
case 3:
pDC->Rectangle(CRect(m_ptOrg,m_ptEnd));
if(m_fill)
{
pDC->FillSolidRect(CRect(m_ptOrg,m_ptEnd),m_lineColor);
}
break;
case 4:
pDC->Ellipse(CRect(m_ptOrg,m_ptEnd));
if(m_fill)
{
CBrush pBrush(m_lineColor);
CRgn rgn;
rgn.CreateEllipticRgn(m_ptOrg.x,m_ptOrg.y,m_ptEnd.x,m_ptEnd.y);
pDC->FillRgn(&rgn,&pBrush);
}
break;
}
pDC->SelectObject(pOldBrush);
pDC->SelectObject(pOldpen);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -