Files
envi-code/SourceCode/Code2026/EarthWormCmd/YWBJDlg.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

140 lines
2.8 KiB
C++

#include "stdafx.h"
#include "YWBJDlg.h"
#include "UITools.h"
IMPLEMENT_DYNAMIC(CYWBJDlg, CDialog)
CYWBJDlg::CYWBJDlg(CWnd* pParent /*=NULL*/)
: CDialog(CYWBJDlg::IDD, pParent)
, m_dX(0.5)
, m_sName(_T("独立式烟感报警器"))
, m_sNo(_T("RX60005"))
, m_sSpec(_T("独立式烟感报警器"))
, m_dD(110)
, m_dH(60)
, m_sProvide(_T("北京瑞德沃商务有限公司"))
//http://www.redwo.com.cn/baojingqi/96.html
, m_dSp(5.0)
, m_id3DEqu(-1)
{
static int nNo = 1;
m_nNo = nNo;
nNo++;
m_bRemove = false;
UIDataCache::Read(_T("%d%d%d%d%s%s%s%s%i")
, _T("CYWBJDlg")
, &m_dX
, &m_dD
, &m_dH
, &m_dSp
, &m_sName
, &m_sNo
, &m_sSpec
, &m_sProvide
, &m_id3DEqu);
}
CYWBJDlg::~CYWBJDlg()
{
}
void CYWBJDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_dX);
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_dD);
DDX_Text(pDX, IDC_EDIT7, m_dH);
DDX_Text(pDX, IDC_EDIT8, m_sProvide);
DDX_Text(pDX, IDC_EDIT9, m_dSp);
DDX_Text(pDX, IDC_EDIT28, m_nNo);
DDV_MinMaxInt(pDX, m_nNo, 1, 99);
}
BEGIN_MESSAGE_MAP(CYWBJDlg, CDialog)
ON_BN_CLICKED(IDOK2, &CYWBJDlg::OnBnClickedOk2)
ON_BN_CLICKED(IDOK, &CYWBJDlg::OnBnClickedOk)
ON_BN_CLICKED(IDC_BUTTON_SEL, &CYWBJDlg::OnBnClickedButtonSel)
END_MESSAGE_MAP()
BOOL CYWBJDlg::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 CYWBJDlg::OnBnClickedOk()
{
UpdateData();
if (m_dH < 1.0 && m_dD < 1.0 )
{
AfxMessageBox(_T("烟雾报警器尺寸太小!"));
return;
}
if (m_sName.IsEmpty() || m_sNo.IsEmpty())
{
AfxMessageBox(_T("请输入烟雾报警器名称和编号!"));
return;
}
UIDataCache::Write(_T("%d%d%d%d%s%s%s%s%i")
, _T("CYWBJDlg")
, &m_dX
, &m_dD
, &m_dH
, &m_dSp
, &m_sName
, &m_sNo
, &m_sSpec
, &m_sProvide
, &m_id3DEqu);
OnOK();
}
void CYWBJDlg::OnBnClickedButtonSel()
{
EquTools::selectEquAndShow(&m_wndGs, m_id3DEqu);
}
void CYWBJDlg::OnBnClickedOk2()
{
m_bRemove = true;
OnOK();
}
int CYWBJDlg::GetScript(CString& sScript, int nRoomIndex,CString& sOffsets)
{
//SMOKALARM:房间|位置|间距|外径|高度|名称|编号|规格|厂家|偏移|编号|3d索引
sScript.Format(_T("<SMOKALARM:%d|%.3f|%.3f|%.3f|%.3f|%s|%s|%s|%s|%s|%d|%d>")
, nRoomIndex
, m_dX
, m_dSp
, m_dD
, m_dH
, m_sName
, m_sNo
, m_sSpec
, m_sProvide
, sOffsets
, m_nNo
, m_id3DEqu);
return 0;
}