#include "stdafx.h" #include "TJDJDlg.h" #include "UITools.h" #include "coreTools.h" IMPLEMENT_DYNAMIC(CTJDJDlg, CDialog) CTJDJDlg::CTJDJDlg(CWnd* pParent /*=NULL*/) : CDialog(CTJDJDlg::IDD, pParent) , m_bModify(false) , m_nOldRow(-1) { static int nNo = 1; m_data.m_nNo = nNo; nNo++; UIDataCache::Read(_T("%i%d%d%d%d%d%d%s%s%d%i") , _T("CTJDJDlg") , &m_data.m_nRow , &m_data.m_dVSpace , &m_data.m_dHSpace , &m_data.m_dDistFrTop , &m_data.m_dL , &m_data.m_dW , &m_data.m_dt , &m_data.m_sMaterial , &m_data.m_sSpec , &m_data.m_dX , &m_data.m_id3DEqu); } CTJDJDlg::~CTJDJDlg() { } void CTJDJDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT3, m_data.m_nRow); CoreTools::DDX_Text_Ex(pDX, IDC_EDIT1, m_data.m_dVSpace); CoreTools::DDX_Text_Ex(pDX, IDC_EDIT4, m_data.m_dHSpace); CoreTools::DDX_Text_Ex(pDX, IDC_EDIT2, m_data.m_dDistFrTop); CoreTools::DDX_Text_Ex(pDX, IDC_EDIT38, m_data.m_dL); CoreTools::DDX_Text_Ex(pDX, IDC_EDIT10, m_data.m_dW); CoreTools::DDX_Text_Ex(pDX, IDC_EDIT36, m_data.m_dt); DDX_Text(pDX, IDC_EDIT34, m_data.m_sMaterial); DDX_Text(pDX, IDC_EDIT35, m_data.m_sSpec); CoreTools::DDX_Text_Ex(pDX, IDC_EDIT42, m_data.m_dX); DDX_Text(pDX, IDC_EDIT44, m_data.m_nNo); DDV_MinMaxInt(pDX, m_data.m_nNo, 1, 99); } BEGIN_MESSAGE_MAP(CTJDJDlg, CDialog) ON_BN_CLICKED(IDOK, &CTJDJDlg::OnBnClickedOk) ON_BN_CLICKED(IDOK2, &CTJDJDlg::OnBnClickedOk2) ON_BN_CLICKED(IDC_BUTTON_SEL, &CTJDJDlg::OnBnClickedButtonSel) END_MESSAGE_MAP() BOOL CTJDJDlg::OnInitDialog() { CDialog::OnInitDialog(); SetWindowText(m_bModify ? _T("修改吊架") : _T("添加吊架")); UpdateData(FALSE); #ifndef NDEBUG EquTools::subClassGsViewAndShow(&m_wndGs, this, IDC_STATIC_3D, m_data.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 return TRUE; } void CTJDJDlg::OnBnClickedOk() { UpdateData(); if (m_data.m_nRow < 1) { AfxMessageBox(_T("支架行数至少一行!请输入行数!")); return; } if (m_data.m_dVSpace < 1.e-6 || m_data.m_dHSpace < 1.e-6) { AfxMessageBox(_T("支架间距数据不合理!请重新输入!")); return; } if (m_data.m_dW < 1.e-6 || m_data.m_dt < 1.e-6) { AfxMessageBox(_T("支架角钢数据不合理!请重新输入!")); return; } UIDataCache::Write(_T("%i%d%d%d%d%d%d%s%s%d%i") , _T("CTJDJDlg") , &m_data.m_nRow , &m_data.m_dVSpace , &m_data.m_dHSpace , &m_data.m_dDistFrTop , &m_data.m_dL , &m_data.m_dW , &m_data.m_dt , &m_data.m_sMaterial , &m_data.m_sSpec , &m_data.m_dX , &m_data.m_id3DEqu); if (m_bModify) { if (m_data.m_nRow != m_nOldRow) // 说明修改了行数 m_data.m_cabling.initSubCabling(m_data.m_nRow); } m_data.m_cabling.initSubCabling(m_data.m_nRow); OnOK(); } int CTJDJDlg::GetScript(CString& sScript,int nRoomIndex,CString& sOffsets) { sScript = m_data.toString(nRoomIndex, sOffsets); return 0; } void CTJDJDlg::OnBnClickedOk2() { OnBnClickedOk(); } void CTJDJDlg::OnBnClickedButtonSel() { EquTools::selectEquAndShow(&m_wndGs, m_data.m_id3DEqu); }