geocircle.cpp

来自「软件参考Windows操作系统下的画图程序」· C++ 代码 · 共 52 行

CPP
52
字号
// GeoCircle.cpp: implementation of the GeoCircle class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Drawing.h"
#include "GeoCircle.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

GeoCircle::GeoCircle()
{

}


GeoCircle::~GeoCircle()
{

}

void GeoCircle::Draw(CDC &dc)
{
	CPen pen(PS_SOLID, m_nWidth, m_color);
	CPen *oldpen = dc.SelectObject(&pen);
	if(m_nMode==0)//线框模式
	{
		CRect r;
		r.SetRect(m_pPoint1, m_pPoint2);
		r.InflateRect(1, 1, 1, 1);//增大该包围矩形
		CPoint ps(r.left, r.top+r.Width()/2);
		dc.Arc(&r, ps, ps);	
	}
	else//填充模式
	{
		CBrush bru(m_color);
		CBrush *oldbru = dc.SelectObject(&bru);	
		dc.Ellipse(m_pPoint1.x, m_pPoint1.y, m_pPoint2.x, m_pPoint2.y);
		dc.SelectObject(oldbru);
	}
	dc.SelectObject(oldpen);

}

⌨️ 快捷键说明

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