📄 myline.cpp
字号:
// MyLine.cpp: implementation of the CMyLine class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "MYDLG.h"
#include "MyLine.h"
#include "PenDlg.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
IMPLEMENT_SERIAL(CMyLine,CObject,1)//
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CMyLine::CMyLine(int StartX,int StartY,int EndX,int EndY,int Width,int Style,COLORREF Color,CString tu)
{
m_StartX=StartX;
m_StartY=StartY;
m_EndX=EndX;
m_EndY=EndY;
m_pWidth=Width;
m_pStyle=Style;
m_pColor=Color;
m_tu=tu;
}
void CMyLine::DrawLine(CDC *pDC)
{
CPen newPen;
CPen *pOldPen;
switch(m_pStyle)
{
case PEN_STYLE_SOLID:
newPen.CreatePen(PS_SOLID,m_pWidth,m_pColor);
break;
case PEN_STYLE_DASH:
newPen.CreatePen(PS_DASH,m_pWidth,m_pColor);
break;
case PEN_STYLE_DOT:
newPen.CreatePen(PS_DOT,m_pWidth,m_pColor);
break;
}
pOldPen=pDC->SelectObject(&newPen);
if(m_tu=="Line"||m_tu=="null")
{
pDC->MoveTo(m_StartX,m_StartY);
pDC->LineTo(m_EndX,m_EndY);
}
if(m_tu=="Rectangle")
{
pDC->Rectangle(m_StartX,m_StartY,m_EndX,m_EndY);
}
if(m_tu=="Ellipse")
{
pDC->Ellipse(m_StartX,m_StartY,m_EndX,m_EndY);
}
pDC->SelectObject(pOldPen);
}
void CMyLine::Serialize(CArchive & ar)
{
if (ar.IsStoring())
ar<<m_StartX<<m_StartY<<
m_EndX<<m_EndY<<m_pWidth<<m_pStyle<<m_pColor<<m_tu;
else
ar>>m_StartX>>m_StartY>>
m_EndX>>m_EndY>>m_pWidth>>m_pStyle>>m_pColor>>m_tu;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -