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

197 lines
3.9 KiB
C++

#include "stdafx.h"
#include "MHQDlg.h"
#include "UITools.h"
IMPLEMENT_DYNAMIC(CMHQDlg, CDialog)
CMHQDlg::CMHQDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMHQDlg::IDD, pParent)
, m_dKg(10.0)
, m_nWorkT(68)
, m_sPerf(_T("120"))
, m_sKindType(_T("FZX-ACT10/1.2-ARS"))
, m_sName(_T("超细干粉灭火装置"))
, m_sClass(_T("超细干粉灭火装置"))
, m_sFactory(_T("深圳市安锐消防有限公司"))
, m_nSetup(0)
, m_nHSetup(0)
, m_bRemove(false)
, m_nNo(0)
, m_id3DEqu(-1)
{
static int nNo = 1;
m_nNo = nNo;
nNo++;
UIDataCache::Read(_T("%s%s%s%s%s%d%i%i%i%i")
, _T("CMHQDlg")
, &m_sPerf
, &m_sKindType
, &m_sName
, &m_sClass
, &m_sFactory
, &m_dKg
, &m_nWorkT
, &m_nSetup
, &m_nHSetup
, &m_id3DEqu);
}
CMHQDlg::~CMHQDlg()
{
}
void CMHQDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT6, m_dKg);
DDX_Text(pDX, IDC_EDIT8, m_nWorkT);
DDX_Text(pDX, IDC_EDIT7, m_sPerf);
DDX_Text(pDX, IDC_EDIT5, m_sKindType);
DDX_Text(pDX, IDC_EDIT4, m_sName);
DDX_Text(pDX, IDC_EDIT3, m_sClass);
DDX_Text(pDX, IDC_EDIT1, m_sFactory);
DDX_Radio(pDX, IDC_RADIO1, m_nSetup);
DDX_Control(pDX, IDC_RADIO3, m_wndBtL);
DDX_Control(pDX, IDC_RADIO4, m_wndBtR);
DDX_Radio(pDX, IDC_RADIO3, m_nHSetup);
DDX_Text(pDX, IDC_EDIT9, m_nNo);
DDV_MinMaxInt(pDX, m_nNo, 1, 99);
}
BEGIN_MESSAGE_MAP(CMHQDlg, CDialog)
ON_BN_CLICKED(IDOK, &CMHQDlg::OnBnClickedOk)
ON_BN_CLICKED(IDC_RADIO1, &CMHQDlg::OnBnClickedRadio1)
ON_BN_CLICKED(IDC_RADIO2, &CMHQDlg::OnBnClickedRadio2)
ON_BN_CLICKED(IDOK2, &CMHQDlg::OnBnClickedOk2)
ON_BN_CLICKED(IDC_BUTTON_SEL, &CMHQDlg::OnBnClickedButton1)
END_MESSAGE_MAP()
void CMHQDlg::OnBnClickedOk()
{
UpdateData();
if (m_dKg < 1.e-3)
{
AfxMessageBox(_T("灭火器充装量不能为零!"));
return;
}
UIDataCache::Write(_T("%s%s%s%s%s%d%i%i%i%i")
, _T("CMHQDlg")
, &m_sPerf
, &m_sKindType
, &m_sName
, &m_sClass
, &m_sFactory
, &m_dKg
, &m_nWorkT
, &m_nSetup
, &m_nHSetup
, &m_id3DEqu);
CDialog::OnOK();
}
BOOL CMHQDlg::OnInitDialog()
{
CDialog::OnInitDialog();
#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 // DEBUG
UpdateData(FALSE);
OnBnClickedRadio1();
return TRUE;
}
void CMHQDlg::OnBnClickedRadio1()
{
UpdateData();
m_wndBtL.EnableWindow(m_nSetup);
m_wndBtR.EnableWindow(m_nSetup);
}
void CMHQDlg::OnBnClickedRadio2()
{
UpdateData();
m_wndBtL.EnableWindow(m_nSetup);
m_wndBtR.EnableWindow(m_nSetup);
}
int CMHQDlg::GetScript(CString& sScript, int nRoomIndex,CString& sOffsets)
{
double dL = 350.0;//mm
double dH = 274.0;//mm
double dTSp = 51.0;//mm
double dDSp = 40.0;//mm
if (m_dKg < 4.0)
{
dL = 230.0;//mm
dH = 229;//mm
dTSp = 51.0;//mm
dDSp = 30.0;//mm
}
else if (m_dKg < 6.0)
{
dL = 270.0;//mm
dH = 229;//mm
dTSp = 51.0;//mm
dDSp = 40.0;//mm
}
else if (m_dKg < 12.0)
{
dL = 350.0;//mm
dH = 274.0;//mm
dTSp = 51.0;//mm
dDSp = 40.0;//mm
}
//其他按照手册查找
//FIREET:房间|安装方式|安装位置|X直径L|Y直径H|上间隙TSP|下间隙DSP|填充量|工作温度|性能|型号|名称|类别|厂家|偏移|编号|3D索引
sScript.Format(_T("<FIREET:%d|%d|%d|%.3f|%.3f|%.3f|%.3f|%.3f|%d|%s|%s|%s|%s|%s|%s|%d|%d>")
, nRoomIndex
, m_nSetup
, m_nHSetup
, dL
, dH
, dTSp
, dDSp
, m_dKg
, m_nWorkT
, m_sPerf
, m_sKindType
, m_sName
, m_sClass
, m_sFactory
, sOffsets
, m_nNo
, m_id3DEqu);
CString sTemp;
sTemp.Format(_T("1%d%d"),m_nSetup,m_nHSetup);
return _ttoi(sTemp);
}
void CMHQDlg::OnBnClickedOk2()
{
m_bRemove = true;
OnBnClickedOk();
}
void CMHQDlg::OnBnClickedButton1()
{
EquTools::selectEquAndShow(&m_wndGs, m_id3DEqu);
}