📄 component.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 + -