?? zcr14rect.cpp
字號:
// ZCR14Rect.cpp: implementation of the CZCR14Rect class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "ZCR14Paint.h"
#include "ZCR14Rect.h"
#include "OptionZone.h"
#include "ColorPane.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CZCR14Rect::CZCR14Rect()
{
m_nPenWidth=1;
m_clrPaint=RGB(0,0,0);
m_nType=RECT_HOLLOW;
}
CZCR14Rect::~CZCR14Rect()
{
}
void CZCR14Rect::Draw(CDC *pDC)
{
CPen pen(PS_SOLID,m_nPenWidth, m_clrPaint);
CPen* pOldPen=(CPen*)pDC->SelectObject(&pen);
pDC->SetROP2(R2_NOTXORPEN);
switch(m_nType)
{
case RECT_HOLLOW:
{
pDC->Rectangle(m_ptStart.x,m_ptStart.y,m_ptEnd.x,m_ptEnd.y);
break;
}
case RECT_SOLID:
{
CBrush Brush;
//CColorPane m_colorpane;
Brush.CreateSolidBrush(m_clrCanvase);
//Brush.CreateSolidBrush(m_colorpane.GetCanvasColor());
CBrush*pOldBrush=pDC->SelectObject(&Brush);
pDC->Rectangle(m_ptStart.x,m_ptStart.y,m_ptEnd.x,m_ptEnd.y);
pDC->SelectObject(pOldBrush);
break;
}
case RECT_REGULAR:
{
pDC->SelectObject(pOldPen);
CPen pen(PS_SOLID,1,m_clrCanvase);
CPen* pOldPen=pDC->SelectObject(&pen);
//CPen pen;
//pen.CreatePen(PS_NULL,0,0);
CBrush brush;
brush.CreateSolidBrush(m_clrCanvase);
CBrush* pOldBrush=pDC->SelectObject(&brush);
pDC->Rectangle(m_ptStart.x,m_ptStart.y,m_ptEnd.x,m_ptEnd.y);
pDC->SelectObject(pOldPen);
pDC->SelectObject(pOldBrush);
break;
}
}
pDC->SelectObject(pOldPen);
}
void CZCR14Rect::SetPoint(CPoint pStart, CPoint pEnd)
{
m_ptStart=pStart;
m_ptEnd=pEnd;
}
void CZCR14Rect::SetTypeCanvas(int nType, COLORREF nCanvas)
{
m_nType=nType;
m_clrCanvase=nCanvas;
}
void CZCR14Rect::SetPenWidthColor(int nPenWidth, COLORREF clrPaint)
{
m_nPenWidth=nPenWidth;
m_clrPaint=clrPaint;
}
IMPLEMENT_SERIAL(CZCR14Rect,CZCR14Shape,1)
void CZCR14Rect::Serialize(CArchive &ar)
{
CZCR14Shape::Serialize(ar);
if(ar.IsStoring())
{
ar<<m_ptStart<<m_ptEnd<<m_nPenWidth<<m_clrPaint<<m_nType<<m_clrCanvase;
}
else
{
ar>>m_ptStart>>m_ptEnd>>m_nPenWidth>>m_clrPaint>>m_nType>>m_clrCanvase;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -