square.cpp

来自「windows核心编程,详细讲述WINDOWS编程原理」· C++ 代码 · 共 86 行

CPP
86
字号
// Square.cpp: implementation of the CSquare class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "ll.h"
#include "Square.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
IMPLEMENT_SERIAL(CSquare,CShape,1);
CSquare::CSquare()
{

}

CSquare::~CSquare()
{

}

void CSquare::Draw(CDC *pDC)
{
	
	CPen pen(m_nLinetype,m_nPenwidth,m_Pencolor);
	CPen *pOldPen=pDC->SelectObject(&pen);
	CBrush brush(m_nBrushtype,m_Brushcolor);
	CBrush *pOldBrush=pDC->SelectObject(&brush);
//	pDC->SelectStockObject(NULL_BRUSH);
	pDC->Rectangle(m_ptOrigin.x,m_ptOrigin.y,m_ptEnd.x,m_ptOrigin.y+m_ptEnd.x-m_ptOrigin.x);

}

void CSquare::SetPoint(CPoint pt1, CPoint pt2)
{m_ptOrigin=pt1;
m_ptEnd=pt2;

}

void CSquare::SetPen(int lt, UINT pw, COLORREF cl)
{
m_nLinetype=lt;
m_nPenwidth=pw;
m_Pencolor=cl;

}

void CSquare::SetBrush(COLORREF bc)
{
m_Brushcolor=bc;
}

void CSquare::SetAttribute(int PenStyle, int Width, COLORREF clr, int Type)
{
m_nPenwidth=Width;
 m_nLinetype=PenStyle;
 m_Pencolor=clr;
 m_nBrushtype=Type;
}

CPoint CSquare::GetOriginPoint()
{
return m_ptOrigin;
}

CPoint CSquare::GetEndPoint()
{
return m_ptEnd;
}

void CSquare::Serialize(CArchive &ar)
{
	CShape::Serialize(ar);
if (ar.IsStoring())
 ar<<m_ptEnd<<m_ptOrigin;
	else
 ar>>m_ptEnd>>m_ptOrigin;	
}

⌨️ 快捷键说明

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