Files
envi-code/SourceCode/Code2026/EarthWormCmd/YYHTDlg.cpp
T
2026-09-28 15:28:50 +08:00

144 lines
2.8 KiB
C++

#include "stdafx.h"
#include "YYHTDlg.h"
#include "uitools.h"
IMPLEMENT_DYNAMIC(CYYHTDlg, CDialog)
CYYHTDlg::CYYHTDlg(CWnd* pParent /*=NULL*/)
: CDialog(CYYHTDlg::IDD, pParent)
, m_nPos(0)
, m_dY(0.5)
, m_dSP(10.0)
, m_sName(_T("一氧化碳报警器 JSN-990"))
, m_dW(300)
, m_dH(200)
, m_dT(50)
, m_sProvider(_T("深圳市立鼎丰科技有限公司"))
, m_sPPM(_T("50-400"))
, m_id3DEqu(-1)
{
static int nNo = 1;
m_nNo = nNo;
nNo++;
m_bRemove = false;
UIDataCache::Read(_T("%i%d%d%d%d%d%s%s%s%i")
, _T("CYYHTDlg")
, &m_nPos
, &m_dY
, &m_dSP
, &m_dW
, &m_dH
, &m_dT
, &m_sName
, &m_sProvider
, &m_sPPM
, &m_id3DEqu);
}
CYYHTDlg::~CYYHTDlg()
{
}
void CYYHTDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Radio(pDX, IDC_RADIO1, m_nPos);
DDX_Text(pDX, IDC_EDIT1, m_dY);
DDX_Text(pDX, IDC_EDIT9, m_dSP);
DDX_Text(pDX, IDC_EDIT3, m_sName);
DDX_Text(pDX, IDC_EDIT6, m_dW);
DDX_Text(pDX, IDC_EDIT7, m_dH);
DDX_Text(pDX, IDC_EDIT15, m_dT);
DDX_Text(pDX, IDC_EDIT8, m_sProvider);
DDX_Text(pDX, IDC_EDIT4, m_sPPM);
DDX_Text(pDX, IDC_EDIT16, m_nNo);
DDV_MinMaxInt(pDX, m_nNo, 1, 99);
}
BEGIN_MESSAGE_MAP(CYYHTDlg, CDialog)
ON_BN_CLICKED(IDOK, &CYYHTDlg::OnBnClickedOk)
ON_BN_CLICKED(IDOK2, &CYYHTDlg::OnBnClickedOk2)
ON_BN_CLICKED(IDC_BUTTON_SEL, &CYYHTDlg::OnBnClickedButtonSel)
END_MESSAGE_MAP()
BOOL CYYHTDlg::OnInitDialog()
{
CDialog::OnInitDialog();
UpdateData(FALSE);
#ifndef NDEBUG
EquTools::subClassGsViewAndShow(&m_wndGs, this, IDC_STATIC_3D, m_id3DEqu);
#else
CWnd *pWnd = GetDlgItem(IDC_STATIC_GRP);
if (pWnd) pWnd->ShowWindow(SW_HIDE);
pWnd = GetDlgItem(IDC_BUTTON_SEL);
if (pWnd) pWnd->ShowWindow(SW_HIDE);
pWnd = GetDlgItem(IDC_STATIC_3D);
if (pWnd) pWnd->ShowWindow(SW_HIDE);
#endif // DEBU
return TRUE;
}
void CYYHTDlg::OnBnClickedOk()
{
UpdateData(TRUE);
if (m_sName.IsEmpty() || m_sPPM.IsEmpty() )
{
AfxMessageBox(_T("请输入一氧化碳报警器名称型号!"));
return;
}
if (m_dW < 10.0 || m_dH < 10.0 || m_dT < 1.0)
{
AfxMessageBox(_T("一氧化碳报警器尺寸太小!请重新输入尺寸!"));
return;
}
UIDataCache::Write(_T("%i%d%d%d%d%d%s%s%s%i")
, _T("CYYHTDlg")
, &m_nPos
, &m_dY
, &m_dSP
, &m_dW
, &m_dH
, &m_dT
, &m_sName
, &m_sProvider
, &m_sPPM
, &m_id3DEqu);
OnOK();
}
void CYYHTDlg::OnBnClickedOk2()
{
m_bRemove = true;
OnOK();
}
void CYYHTDlg::OnBnClickedButtonSel()
{
EquTools::selectEquAndShow(&m_wndGs, m_id3DEqu);
}
int CYYHTDlg::GetScript(CString& sScrpt, int nRoomIndex,CString& sOffsets)
{
//COALARM:房间|左右侧|位置|间距|宽度|高度|厚度|名称|浓度|偏移|编号|3d索引
sScrpt.Format(_T("<COALARM:%d|%d|%.3f|%.3f|%.3f|%.3f|%.3f|%s|%s|%s|%s|%d|%d>")
, nRoomIndex
, m_nPos
, m_dY
, m_dSP
, m_dW
, m_dH
, m_dT
, m_sName
, m_sPPM
, m_sProvider
, sOffsets
, m_nNo
, m_id3DEqu);
return m_nPos;
}