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

144 lines
3.0 KiB
C++

#include "stdafx.h"
#include "WSJCDlg.h"
#include "UITools.h"
IMPLEMENT_DYNAMIC(CWSJCDlg, CDialog)
CWSJCDlg::CWSJCDlg(CWnd* pParent /*=NULL*/)
: CDialog(CWSJCDlg::IDD, pParent)
, m_dH(3.0)
, m_sName(_T("QB2000F型壁挂式可燃气体探测器"))
, m_sSpec(_T("QB2000F型壁挂式可燃气体探测器"))
, m_sProvider(_T("河南驰诚电气股份有限公司"))
, m_nPos(0)
, m_sGrade(_T("IP65"))
, m_dSp(50.0)
, m_bRemove(false)
, m_nNo(0)
, m_id3DEqu(-1)
{
m_dw = 300.0;//宽 mm
m_dl = 300.0;//长 mm
m_dt = 30.0;//厚 mm
static int nNo = 1;
m_nNo = nNo;
nNo++;
//来源http://www.cce-china.com/products/products_39_1.html
UIDataCache::Read(_T("%i%d%d%s%s%s%s%i")
, _T("CWSJCDlg")
, &m_nPos
, &m_dH
, &m_dSp
, &m_sName
, &m_sSpec
, &m_sProvider
, &m_sGrade
, &m_id3DEqu);
}
CWSJCDlg::~CWSJCDlg()
{
}
void CWSJCDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT10, m_dH);
DDX_Text(pDX, IDC_EDIT2, m_sName);
DDX_Text(pDX, IDC_EDIT4, m_sSpec);
DDX_Text(pDX, IDC_EDIT1, m_sProvider);
DDX_Radio(pDX, IDC_RADIO1, m_nPos);
DDX_Text(pDX, IDC_EDIT35, m_sGrade);
DDX_Text(pDX, IDC_EDIT3, m_dSp);
DDX_Text(pDX, IDC_EDIT36, m_nNo);
DDV_MinMaxInt(pDX, m_nNo, 1, 99);
}
BEGIN_MESSAGE_MAP(CWSJCDlg, CDialog)
ON_BN_CLICKED(IDOK, &CWSJCDlg::OnBnClickedOk)
ON_BN_CLICKED(IDOK2, &CWSJCDlg::OnBnClickedOk2)
ON_BN_CLICKED(IDC_BUTTON_SEL, &CWSJCDlg::OnBnClickedButtonSel)
END_MESSAGE_MAP()
BOOL CWSJCDlg::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 CWSJCDlg::OnBnClickedOk()
{
UpdateData();
if (m_dH < 0.5)
{
AfxMessageBox(_T("安装高度太低!"));
return;
}
if (m_sName.IsEmpty() || m_sGrade.IsEmpty() || m_sProvider.IsEmpty() || m_sSpec.IsEmpty())
{
AfxMessageBox(_T("瓦斯报警器信息填写不全!"));
return;
}
UIDataCache::Write(_T("%i%d%d%s%s%s%s%i")
, _T("CWSJCDlg")
, &m_nPos
, &m_dH
, &m_dSp
, &m_sName
, &m_sSpec
, &m_sProvider
, &m_sGrade
, &m_id3DEqu);
CDialog::OnOK();
}
int CWSJCDlg::GetScript(CString& sScript, int nRoomIndex,CString& sOffsets)
{
//GASALARM:房间|位置|高度|长|宽|厚|间距|名称|等级|型号|厂家|偏移|编号|3d索引
sScript.Format(_T("<GASALARM:%d|%d|%.3f|%.3f|%.3f|%.3f|%.3f|%s|%s|%s|%s|%s|%d|%d>")
, nRoomIndex
,m_nPos
, m_dH
, AS_MUNIT(m_dl)
, AS_MUNIT(m_dw)
, AS_MUNIT(m_dt)
, m_dSp
, m_sName
, m_sGrade
, m_sSpec
, m_sProvider
,sOffsets
, m_nNo
, m_id3DEqu);
return m_nPos;
}
void CWSJCDlg::OnBnClickedOk2()
{
m_bRemove = true;
OnBnClickedOk();
}
void CWSJCDlg::OnBnClickedButtonSel()
{
EquTools::selectEquAndShow(&m_wndGs, m_id3DEqu);
}