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

📄 component.cpp

📁 电子元器件绘制系统
💻 CPP
字号:
// Component.cpp: implementation of the CComponent class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "DrawChip.h"
#include "Component.h"

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

IMPLEMENT_SERIAL(CComponent, CObject,0)
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//##ModelId=3E18E0E70070
COLORREF CComponent::m_fillColor = RGB(176,176,176);

//##ModelId=3E18E0E7014D
CComponent::CComponent()
{
	m_RotateAngle = 0;
	m_IsSelected = FALSE;
	//m_iLineWidth = 4;
	m_iLineWidth = 40;
	m_Color = RGB(0,0,255);
}

//##ModelId=3E18E0E7014E
CComponent::~CComponent()
{

}

//##ModelId=3E18E0E7014C
COLORREF CComponent::GetColor()
{
	return m_Color;
}

//##ModelId=3E18E0E7014A
void CComponent::SetColor(COLORREF color)
{
	m_Color = color;
}

//##ModelId=3E18E0E7011F
void CComponent::SetLineWidth(int LWidth)
{
	m_iLineWidth = LWidth;
}

//##ModelId=3E18E0E7011E
int CComponent::GetLineWidth()
{
	return m_iLineWidth;
}

//##ModelId=3E18E0E7011C
void CComponent::SetIsSelected(BOOL IsSel)
{
	m_IsSelected = IsSel;
}

//##ModelId=3E18E0E7011B
BOOL CComponent::GetIsSelected()
{
	return m_IsSelected;
}

//##ModelId=3E18E0E70119
void CComponent::SetRotateAngle(float angle)
{
	m_RotateAngle = angle;
}

//##ModelId=3E18E0E70118
float CComponent::GetRotateAngle()
{
	return m_RotateAngle;
}

//##ModelId=3E18E0E700E0
CString CComponent::CalculateName(CObList *pObList)
{
	return "器件";
}


//##ModelId=3E18E0E700DD
void CComponent::Draw(CDC *pDC)
{

}

//##ModelId=3E18E0E700DC
CString CComponent::GetName()
{
	return m_strName;	
}

//##ModelId=3E18E0E700B1
void CComponent::SetName(const CString &Name)
{
	m_strName = Name;
}

//##ModelId=3E18E0E700AF
void CComponent::Serialize(CArchive &ar)
{
	if (ar.IsStoring())
	{
		ar<<m_Color<<m_iLineWidth<<m_strName<<m_RotateAngle;
	}
	else
	{
		ar>>m_Color>>m_iLineWidth>>m_strName>>m_RotateAngle;
	}
}

//##ModelId=3E18E0E700AC
BOOL CComponent::IsInList(int i, CObList *pNumList)
{
	POSITION pos = pNumList->GetHeadPosition();
	CObject *pObject;
	int *p;
	while(pos != NULL)
	{
		pObject = pNumList->GetAt(pos);
		p = (int *)pObject;
		if (i == (*p))
		{
			return TRUE;
		}
		pNumList->GetNext(pos);
	}
	return FALSE;

}

//##ModelId=3E18E0E700AA
BOOL CComponent::IsNum(CString str)
//判断一个字符串是否是数字,在各个派生类的CalculateName函数中
//使用,系统提供的函数atoi()将类似于"12ert"之类的串转换为12,
//这显然是不正确的,因此自己开发了这个小函数
{
	int len = str.GetLength();
	char ch;
	for (int i = 1; i<= len; i++)
	{
		ch = str.GetAt(i-1);
		if (!(ch<='9' && ch>='0'))
		{
			return FALSE;
		}
	}
	return TRUE;
}

⌨️ 快捷键说明

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