www.pudn.com > subject_1_113294.rar > Polyline.cpp, change:2002-05-24,size:1217b


// Polyline.cpp: implementation of the CPolyline class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#include "stdafx.h" 
#include "Paint.h" 
#include "Polyline.h" 
 
#ifdef _DEBUG 
#undef THIS_FILE 
static char THIS_FILE[]=__FILE__; 
#define new DEBUG_NEW 
#endif 
 
////////////////////////////////////////////////////////////////////// 
// Construction/Destruction 
////////////////////////////////////////////////////////////////////// 
 
CPolyline::CPolyline():CElement() 
{ 
	PointNum=0; 
	PointList=new CPoint[100]; 
} 
 
CPolyline::CPolyline(int PointNumber,CPoint *List):CElement() 
{ 
	PointNum=PointNumber; 
	PointList=List; 
} 
 
CPolyline::~CPolyline() 
{ 
 
} 
 
void CPolyline::DrawItem(CDC *pDC) 
{ 
	CPen *Pen=new CPen(); 
	CPen *OldPen; 
	Pen->CreatePen(LineStyle,LineWidth,LineColor); 
	OldPen=pDC->SelectObject(Pen); 
	pDC->Polyline(PointList,PointNum); 
	pDC->SelectObject(OldPen); 
	delete Pen; 
} 
 
void CPolyline::Serialize(CArchive &ar) 
{ 
	CElement::Serialize(ar); 
 
	if(ar.IsStoring()) 
	{ 
		ar<<PointNum; 
		for(int i=0;i<PointNum;i++) 
			ar<<PointList[i];		 
	} 
	else 
	{ 
		ar>>PointNum; 
		for(int i=0;i<PointNum;i++) 
			ar>>PointList[i]; 
	} 
}