You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
2.5 KiB
C++

#include "stdafx.h"
#include "LaiPuLaser.h"
#include "DlgValStrSN.h"
#include "afxdialogex.h"
#include "ValStrSN.h"
#include "MsgBox.h"
// CDlgValStrDate <20>Ի<EFBFBD><D4BB><EFBFBD>
IMPLEMENT_DYNAMIC(CDlgValStrSN, CDlgValStrBase)
BEGIN_MESSAGE_MAP(CDlgValStrSN, CDlgValStrBase)
ON_BN_CLICKED(IDOK,OnBnClickedOk)
END_MESSAGE_MAP()
CDlgValStrSN::CDlgValStrSN(CWnd* pParent /*=NULL*/)
: CDlgValStrBase(CDlgValStrSN::IDD, pParent)
{
m_SnMin = 0;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
m_SnMax = 9999;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_SnCur = 1;//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
m_SnInc = 1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_EachMarkTimes = 1;//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD><CCB4><EFBFBD>
m_CurMarkTimes = 0;//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>̴<EFBFBD><CCB4><EFBFBD>
}
CDlgValStrSN::~CDlgValStrSN()
{
}
void CDlgValStrSN::DoDataExchange(CDataExchange* pDX)
{
CDlgValStrBase::DoDataExchange(pDX);
DDX_Text(pDX, IDC_SN_START, m_SnMin);
DDX_Text(pDX, IDC_SN_END, m_SnMax);
DDX_Text(pDX, IDC_SN_CUR, m_SnCur);
DDX_Text(pDX, IDC_SN_INC, m_SnInc);
DDX_Text(pDX, IDC_EACH_MARK_TIME, m_EachMarkTimes);
DDX_Text(pDX, IDC_CUR_MARK_TIME, m_CurMarkTimes);
}
// CDlgValStrDate <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void CDlgValStrSN::DynamicCastStrBase()
{
m_pValStr = dynamic_cast<CValStrSN*>(m_pValStrBase);
}
BOOL CDlgValStrSN::OnInitDialog()
{
CDlgValStrBase::OnInitDialog();
if(!m_bAdd && m_pValStr)
{
m_SnMin = m_pValStr->m_SnMin;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
m_SnMax = m_pValStr->m_SnMax;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_SnCur = m_pValStr->m_SnCur;//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
m_SnInc = m_pValStr->m_SnInc;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_EachMarkTimes = m_pValStr->m_EachMarkTimes;//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD><CCB4><EFBFBD>
m_CurMarkTimes = m_pValStr->m_CurMarkTimes;//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>̴<EFBFBD><CCB4><EFBFBD>
}
UpdateData(FALSE);
return TRUE;
}
void CDlgValStrSN::OnBnClickedOk()
{
UpdateData(TRUE);
if(!CheckInput())
return;
if(m_bAdd)//<2F><><EFBFBD><EFBFBD>
{
CValStrSN *p = new CValStrSN;
SetValStrSNPar(p);
m_pValString->AddValStr(p);
}
else//<2F>޸<EFBFBD>
{
if(m_pValStr)
{
SetValStrSNPar(m_pValStr);
}
}
OnOK();
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool CDlgValStrSN::CheckInput()
{
if(m_SnCur<m_SnMin || m_SnCur>m_SnMax)
{
CMsgBox MsgBox;
MsgBox.Show("[<5B><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<5B><>С<EFBFBD><D0A1><EFBFBD><EFBFBD>]<5D><>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D6AE>!",true);
return false;
}
return true;
}
void CDlgValStrSN::SetValStrSNPar(CValStrSN* p)
{
p->m_SnMin = m_SnMin;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
p->m_SnMax = m_SnMax;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
p->m_SnCur = m_SnCur-m_SnInc;//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
p->m_SnInc = m_SnInc;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
p->m_EachMarkTimes = m_EachMarkTimes;//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD><CCB4><EFBFBD>
p->m_CurMarkTimes = m_CurMarkTimes;//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>̴<EFBFBD><CCB4><EFBFBD>
}