#include "stdafx.h" #include "TJZJDlg.h" #include "UITools.h" #include "coreTools.h" IMPLEMENT_DYNAMIC(CTJZJDlg, CDialog) CTJZJDlg::CTJZJDlg(CWnd* pParent /*=NULL*/) : CDialog(CTJZJDlg::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%i%i") , _T("CTJZJDlg") , &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_nPos , &m_data.m_id3DEqu); } CTJZJDlg::~CTJZJDlg() { } void CTJZJDlg::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_EDIT2, m_data.m_dDistFrTop); 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); DDX_Radio(pDX, IDC_RADIO1, m_data.m_nPos); CoreTools::DDX_Text_Ex(pDX, IDC_EDIT4, m_data.m_dHSpace); CoreTools::DDX_Text_Ex(pDX, IDC_EDIT38, m_data.m_dL); DDX_Text(pDX, IDC_EDIT44, m_data.m_nNo); } BEGIN_MESSAGE_MAP(CTJZJDlg, CDialog) ON_BN_CLICKED(IDOK, &CTJZJDlg::OnBnClickedOk) ON_BN_CLICKED(IDOK2, &CTJZJDlg::OnBnClickedOk2) ON_BN_CLICKED(IDC_BUTTON_SEL, &CTJZJDlg::OnBnClickedButtonSel) END_MESSAGE_MAP() BOOL CTJZJDlg::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 CTJZJDlg::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%i%i") , _T("CTJZJDlg") , &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_nPos , &m_data.m_id3DEqu); if (m_bModify) { if (m_data.m_nRow != m_nOldRow) // 说明修改了行数 m_data.m_cabling.initSubCabling(m_data.m_nRow); } else m_data.m_cabling.initSubCabling(m_data.m_nRow); OnOK(); } int CTJZJDlg::GetScript(CString& sScript,int nRoomIndex,CString& sOffsets) { sScript = m_data.toString(nRoomIndex, sOffsets); return m_data.m_nPos; } void CTJZJDlg::OnBnClickedOk2() { UpdateData(TRUE); OnBnClickedOk(); } void CTJZJDlg::OnBnClickedButtonSel() { EquTools::selectEquAndShow(&m_wndGs, m_data.m_id3DEqu); }