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++
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 对话框
|
|
|
|
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;//开始序号
|
|
m_SnMax = 9999;//结束序号
|
|
m_SnCur = 1;//当前序号
|
|
m_SnInc = 1;//序号增量
|
|
m_EachMarkTimes = 1;//每个标刻次数
|
|
m_CurMarkTimes = 0;//当前标刻次数
|
|
}
|
|
|
|
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 消息处理程序
|
|
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;//开始序号
|
|
m_SnMax = m_pValStr->m_SnMax;//结束序号
|
|
m_SnCur = m_pValStr->m_SnCur;//当前序号
|
|
m_SnInc = m_pValStr->m_SnInc;//序号增量
|
|
m_EachMarkTimes = m_pValStr->m_EachMarkTimes;//每个标刻次数
|
|
m_CurMarkTimes = m_pValStr->m_CurMarkTimes;//当前标刻次数
|
|
}
|
|
UpdateData(FALSE);
|
|
return TRUE;
|
|
}
|
|
void CDlgValStrSN::OnBnClickedOk()
|
|
{
|
|
UpdateData(TRUE);
|
|
if(!CheckInput())
|
|
return;
|
|
if(m_bAdd)//添加
|
|
{
|
|
CValStrSN *p = new CValStrSN;
|
|
SetValStrSNPar(p);
|
|
m_pValString->AddValStr(p);
|
|
}
|
|
else//修改
|
|
{
|
|
if(m_pValStr)
|
|
{
|
|
SetValStrSNPar(m_pValStr);
|
|
}
|
|
}
|
|
OnOK();
|
|
}
|
|
//检查输入
|
|
bool CDlgValStrSN::CheckInput()
|
|
{
|
|
if(m_SnCur<m_SnMin || m_SnCur>m_SnMax)
|
|
{
|
|
CMsgBox MsgBox;
|
|
MsgBox.Show("[当前序号]必须在[最小序号]和[最大序号]之间!",true);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
void CDlgValStrSN::SetValStrSNPar(CValStrSN* p)
|
|
{
|
|
p->m_SnMin = m_SnMin;//开始序号
|
|
p->m_SnMax = m_SnMax;//结束序号
|
|
p->m_SnCur = m_SnCur-m_SnInc;//当前序号
|
|
p->m_SnInc = m_SnInc;//序号增量
|
|
p->m_EachMarkTimes = m_EachMarkTimes;//每个标刻次数
|
|
p->m_CurMarkTimes = m_CurMarkTimes;//当前标刻次数
|
|
} |