Files
envi-code/SourceCode/Code2026/EarthWormCmd/TJZJDlg.cpp
T
2026-09-28 15:28:50 +08:00

142 lines
3.1 KiB
C++

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