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

150 lines
2.9 KiB
C++

#include "stdafx.h"
#include "WDBJDlg.h"
#include "uitools.h"
IMPLEMENT_DYNAMIC(CWDBJDlg, CDialog)
CWDBJDlg::CWDBJDlg(CWnd* pParent /*=NULL*/)
: CDialog(CWDBJDlg::IDD, pParent)
, m_nPos(0)
, m_dY(1.0)
, m_dSp(10.0)
, m_sName(_T("温湿度监控终端"))
, m_sNo(_T("LB863RSB-X(F)-01"))
, m_sSpec(_T("LB863RSB-X(F)"))
, m_dW(300)
, m_dH(200)
, m_dT(50)
, m_sProvider(_T("北京龙邦科技发展有限公司"))
, m_id3DEqu(-1)
//http://www.longwatch.com.cn/Item/Show.asp?m=5&d=219
{
static int nNo = 1;
m_nNo = nNo;
nNo++;
m_bRemove = false;
UIDataCache::Read(_T("%i%d%d%d%d%d%s%s%s%s%i")
, _T("CWDBJDlg")
, &m_nPos
, &m_dY
, &m_dSp
, &m_dW
, &m_dH
, &m_dT
, &m_sName
, &m_sNo
, &m_sSpec
, &m_sProvider
, &m_id3DEqu);
}
CWDBJDlg::~CWDBJDlg()
{
}
void CWDBJDlg::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_EDIT4, m_sNo);
DDX_Text(pDX, IDC_EDIT5, m_sSpec);
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_EDIT16, m_nNo);
DDV_MinMaxInt(pDX, m_nNo, 1, 99);
}
BEGIN_MESSAGE_MAP(CWDBJDlg, CDialog)
ON_BN_CLICKED(IDOK, &CWDBJDlg::OnBnClickedOk)
ON_BN_CLICKED(IDOK2, &CWDBJDlg::OnBnClickedOk2)
ON_BN_CLICKED(IDC_BUTTON_SEL, &CWDBJDlg::OnBnClickedButtonSel)
END_MESSAGE_MAP()
BOOL CWDBJDlg::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 CWDBJDlg::OnBnClickedOk()
{
UpdateData();
if (m_sName.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%s%i")
, _T("CWDBJDlg")
, &m_nPos
, &m_dY
, &m_dSp
, &m_dW
, &m_dH
, &m_dT
, &m_sName
, &m_sNo
, &m_sSpec
, &m_sProvider
, &m_id3DEqu);
OnOK();
}
void CWDBJDlg::OnBnClickedOk2()
{
m_bRemove = true;
OnOK();
}
void CWDBJDlg::OnBnClickedButtonSel()
{
EquTools::selectEquAndShow(&m_wndGs, m_id3DEqu);
}
int CWDBJDlg::GetScript(CString& sScript, int nRoomIndex,CString& sOffsets)
{
//TEMPALARM:房间|左右侧|位置|间距|宽度|高度|厚度|名称|编号|规格|厂家|偏移|编号|3d索引
sScript.Format(_T("<TEMPALARM:%d|%d|%.3f|%.3f|%.3f|%.3f|%.3f|%s|%s|%s|%s|%s|%d|%d>")
, nRoomIndex
, m_nPos
, m_dY
, m_dSp
, m_dW
, m_dH
, m_dT
, m_sName
, m_sNo
, m_sSpec
, m_sProvider
, sOffsets
, m_nNo
, m_id3DEqu);
return m_nPos;
}