line.cpp

来自「内容包括从VC++的基本范例到项目开发的许多典型的例子。是VC++初学者不可多得」· C++ 代码 · 共 70 行

CPP
70
字号
// Line.cpp: implementation of the CLine class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Ex07_2.h"
#include "Line.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
IMPLEMENT_SERIAL(CLine,CObject,1)
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CLine::CLine()
{
	m_StartPt.x=0;
	m_StartPt.y=0;
    m_EndPt.x=0;
    m_EndPt.y=0;
	m_nGraphType=1;
}

CLine::CLine(int x1,int y1,int x2,int y2,int type)
{
	m_StartPt.x=x1;
	m_StartPt.y=y1;
    m_EndPt.x=x2;
    m_EndPt.y=y2;
	m_nGraphType=type;
}
CLine::CLine(CPoint pt1,CPoint pt2,int type)
{
	m_StartPt=pt1;
    m_EndPt=pt2;
	m_nGraphType=type;
}
CLine::~CLine()
{

}
void CLine::Draw(CDC*pDC)
{
	switch(m_nGraphType)
	{
	case 1:
       pDC->MoveTo(m_StartPt);
	   pDC->LineTo(m_EndPt);
	   break;
	case 2:
       pDC->Rectangle(m_StartPt.x,m_StartPt.y,m_EndPt.x,m_EndPt.y);
	   break;
     case 3:
       pDC->Ellipse(m_StartPt.x,m_StartPt.y,m_EndPt.x,m_EndPt.y);
	   break;
	}

}
void CLine::Serialize(CArchive&ar)
{
	if(ar.IsStoring())
		ar<<m_StartPt<<m_EndPt<<m_nGraphType;
	else
		ar>>m_StartPt>>m_EndPt>>m_nGraphType;

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?