//支持序列化類,必須繼承自CObject類
class CShape :public CObject
{
public:
DECLARE_SERIAL(CShape)
CShape();
CShape(CPoint& BeginPoint,CPoint& EndPoint);
virtual void Draw(CDC* pDC){};
virtual void Serialize(CArchive& ar);
virtual ~CShape();
public:
//得到起點信息
CPoint GetBeginPoint() const
{ return m_Begin; }
//得到止點信息
CPoint GetEndPoint() const
{ return m_End; }
//得到筆顏色
COLORREF GetPenColor() const
{ return m_crPenColor; }
//得到筆寬度
int GetPenWidth() const
{ return m_nPenWidth; }
//設置筆信息
void SetPen( int nPenStyle, int nPenWidth, COLORREF crPenColor);
//設置起止點信息
void SetPoint(CPoint& BeginPoint,CPoint& EndPoint);
//設置刷子
virtual void SetBrush(COLORREF brushcolor){};
//取得名稱
CString GetName()
{
return m_ShapeName;
}
protected:
//筆的信息
int m_nPenStyle;
int m_nPenWidth;
COLORREF m_crPenColor;
//起止點信息
CPoint m_Begin;
CPoint m_End;
//Name
CString m_ShapeName;
};