#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("") , 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); }