可以加关注:
void Ellipse::DrawStatic(CDC*pDC)
{
CPen m_pen;
CBrush m_brush;
int oldDrawingMode = pDC->SetROP2(this->m_DrawingMode);
m_pen.CreatePen(m_PenStyle, m_PenWidth, m_PenColor);
CPen* pen = (CPen*)pDC->SelectObject(&m_pen);
LOGBRUSH brushlog;
brushlog.lbColor = m_BrushColor;
brushlog.lbHatch = m_BrushHatch;
brushlog.lbStyle = m_BrushStyle;
m_brush.CreateBrushIndirect(&brushlog);
SetBrushOrg(pDC, &m_brush);
CBrush*brush = (CBrush*)pDC->SelectObject(&m_brush);
int OldBkMode = pDC->SetBkMode(m_BkMode);
COLORREF OldColor = pDC->SetBkColor(m_BackgroundColor);
pDC->Ellipse(CRect(m_FirstPoint, m_SecondPoint));
pDC->SelectObject(brush);
pDC->SelectObject(pen);
pDC->SetBkMode(OldBkMode);
pDC->SetBkColor(OldColor);
pDC->SetROP2(oldDrawingMode);
}
void Ellipse::CRoundRectangle()
{
Initial();
//m_Shape=0;
m_BrushStyle = BS_HOLLOW;
m_BrushHatch = HS_CROSS;
}
void Ellipse::Serialize(CArchive &ar)
{
CUnit::Serialize(ar);
if (ar.IsStoring())
{
ar << m_BrushStyle << m_BkMode << m_BrushHatch << m_BrushColor;
}
else
{
ar >> m_BrushStyle >> m_BkMode >> m_BrushHatch >> m_BrushColor;
}
}
BOOL Ellipse::IsInRgn(CPoint point)
{
CPoint FirstPoint;
CPoint SecondPoint;
FirstPoint.x = m_FirstPoint.x < m_SecondPoint.x ? m_FirstPoint.x : m_SecondPoint.x;
FirstPoint.y = m_FirstPoint.y < m_SecondPoint.y ? m_FirstPoint.y : m_SecondPoint.y;
SecondPoint.x = m_FirstPoint.x > m_SecondPoint.x ? m_FirstPoint.x : m_SecondPoint.x;
SecondPoint.y = m_FirstPoint.y >