⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zcr14line.cpp

📁 一个画笔的程序,可以进行直线,圆和方形等图形进行画图,并可以撤消上一步的动作
💻 CPP
字号:
// ZCR14Line.cpp: implementation of the CZCR14Line class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "ZCR14Paint.h"
#include "ZCR14Line.h"

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

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


CZCR14Line::CZCR14Line()
{
	m_nPenWidth=1;
    m_crPenColor=RGB(0,0,0);

}

CZCR14Line::~CZCR14Line()
{

}

void CZCR14Line::Draw(CDC *pDC)
{
	CPen  pen(PS_SOLID,m_nPenWidth, m_clrPaint); 
		
	CPen* pOldPen=pDC->SelectObject(&pen);
	
	pDC->SetROP2(R2_NOTXORPEN);
	pDC->MoveTo(m_ptStart); 		
	pDC->LineTo(m_ptEnd);
	
	pDC->SelectObject(pOldPen);
}

void CZCR14Line::SetPoint(CPoint pStart, CPoint pEnd)
{
   m_ptStart=pStart;
   m_ptEnd=pEnd;
}

void CZCR14Line::SetPenWidthColor(int nPenWidth, COLORREF clrPaint)
{
	m_nPenWidth=nPenWidth;
	m_clrPaint=clrPaint;
}


CZCR14Shape* CZCR14Line::NewShape()
{
    return (CZCR14Shape*) new CZCR14Line; 
}

CString CZCR14Line::GetClassName()
{
    return "CZCR14Line";
}
IMPLEMENT_SERIAL(CZCR14Line,CZCR14Shape,1)
void CZCR14Line::Serialize(CArchive &ar)
{
	CZCR14Shape::Serialize(ar);
	if(ar.IsStoring())
	{
		
		ar<<m_ptStart<<m_ptEnd<<m_nPenWidth<<m_clrPaint;
	}
	else
	{
		ar>>m_ptStart>>m_ptEnd>>m_nPenWidth>>m_clrPaint;
	}
}

⌨️ 快捷键说明

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