shape.cpp

来自「mfc的电子元器件系统。可以绘制基本图形。对cdc的初级应用。」· C++ 代码 · 共 97 行

CPP
97
字号
// Shape.cpp: implementation of the CShape class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Maze.h"
#include "Shape.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
IMPLEMENT_SERIAL(CShape, CObject,0)

CShape::CShape(CRect rect)
{
	m_Tracker.m_rect=rect;
	m_IsSelected=false;
}

CShape::CShape(){}

CShape::~CShape(){}

void CShape::Draw(CDC *pDC)
{
	m_Tracker.Draw(pDC);
}

void CShape::SetSelected(bool s)
{
	m_IsSelected=s;
}

bool CShape::GetSelected()
{
	return m_IsSelected;
}

void CShape::SetRectTracker(CRect &rect)
{
	m_Tracker.m_rect=rect;
}

void CShape::SetStyleTracker(unsigned int style)
{
	m_Tracker.m_nStyle=style;
}

CRect CShape::GetRectTracker()
{
	return m_Tracker.m_rect;
}

unsigned int CShape::GetStyleTracker()
{
	return m_Tracker.m_nStyle;
}

void CShape::Serialize(CArchive &ar)
{
//	CObject::Serialize(ar);
	if(ar.IsStoring())
	{
		ar<<m_Tracker.m_rect.top
			<<m_Tracker.m_rect.left
			<<m_Tracker.m_rect.bottom
			<<m_Tracker.m_rect.right;
	}
	else
	{
		ar>>m_Tracker.m_rect.top
			>>m_Tracker.m_rect.left
			>>m_Tracker.m_rect.bottom
			>>m_Tracker.m_rect.right;
		m_IsSelected=false;
	}
}

bool CShape::Track(CWnd *pWnd, CPoint point,
				   BOOL bAllowInvert, CWnd *pWndClipTo)
{
	return(m_Tracker.Track(pWnd, point, 
		bAllowInvert,pWndClipTo));

}

int CShape::HitTest(CPoint point)
{
	return m_Tracker.HitTest(point);
}

⌨️ 快捷键说明

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