194 lines
4.0 KiB
C++
194 lines
4.0 KiB
C++
#include "stdafx.h"
|
|
#include "CLGZJDlg.h"
|
|
#include "CJZJHDlg.h"
|
|
|
|
IMPLEMENT_DYNAMIC(CLGZJDlg, CDialog)
|
|
|
|
const LPCTSTR g_pszSyss[] = { _T("控制和通讯(<450-750v)"), _T("仪表(24v)"), _T("动力低压(0.6-1kv)"), _T("动力高压[3-110kv)"),NULL};
|
|
//控制和通讯(<450-750v);仪表(24v);动力低压(0.6-1kv);动力高压[3-110kv);
|
|
CLGZJDlg::CLGZJDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(IDD_LGZJ_DLG, pParent)
|
|
, m_dL(250)
|
|
, m_dW(35)
|
|
, m_dt(5)
|
|
, m_sMaterial(_T("普通碳钢"))
|
|
{
|
|
memset(&m_holder, 0, sizeof(XHolder));
|
|
}
|
|
|
|
CLGZJDlg::~CLGZJDlg()
|
|
{
|
|
}
|
|
|
|
void CLGZJDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Text(pDX, IDC_EDIT38, m_dL);
|
|
DDX_Text(pDX, IDC_EDIT10, m_dW);
|
|
DDX_Text(pDX, IDC_EDIT36, m_dt);
|
|
DDX_Text(pDX, IDC_EDIT34, m_sMaterial);
|
|
DDX_Control(pDX, IDC_LIST2, m_wndList);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CLGZJDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CLGZJDlg::OnBnClickedOk)
|
|
ON_BN_CLICKED(IDC_BUTTON1, &CLGZJDlg::OnBnClickedButton1)
|
|
ON_BN_CLICKED(IDC_BUTTON3, &CLGZJDlg::OnBnClickedButton3)
|
|
ON_BN_CLICKED(IDC_BUTTON5, &CLGZJDlg::OnBnClickedButton5)
|
|
END_MESSAGE_MAP()
|
|
|
|
BOOL CLGZJDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
m_wndList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_SINGLEROW);
|
|
|
|
m_wndList.InsertColumn(0, _T("序号"), LVCFMT_LEFT, 100, 100);
|
|
m_wndList.InsertColumn(1, _T("行距"), LVCFMT_LEFT, 100, 100);
|
|
m_wndList.InsertColumn(2, _T("系统"), LVCFMT_LEFT, 160, 160);
|
|
|
|
ShowXHolder();
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CLGZJDlg::OnBnClickedOk()
|
|
{
|
|
UpdateData();
|
|
|
|
if (m_dL < 10.0 || m_dW < 1.e-1 || m_dt < 1.e-1)
|
|
{
|
|
AfxMessageBox(_T("支架参数太小!"));
|
|
return;
|
|
}
|
|
|
|
if (m_wndList.GetItemCount() == 0)
|
|
{
|
|
AfxMessageBox(_T("请输入至少一行支架!"));
|
|
return;
|
|
}
|
|
|
|
memset(&m_holder, 0, sizeof(XHolder));
|
|
|
|
CString sSys;
|
|
m_holder.N = m_wndList.GetItemCount();
|
|
m_holder.bNoEquDis = TRUE;
|
|
|
|
for (int i = 0;i < m_wndList.GetItemCount();i++)
|
|
{
|
|
m_holder.nDists[i] = _ttoi(m_wndList.GetItemText(i, 1));
|
|
|
|
sSys = m_wndList.GetItemText(i, 2);
|
|
for (int ii = 0;ii < 4;ii++)
|
|
{
|
|
if (sSys.CompareNoCase(g_pszSyss[ii]) == 0)
|
|
{
|
|
m_holder.nSyss[i] = ii;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
m_holder.L = m_dL;
|
|
m_holder.W = m_dW;
|
|
m_holder.t = m_dt;
|
|
m_holder.dBomEl = 0;//无意义
|
|
_tcscpy(m_holder.szMat, _T("普通碳钢"));
|
|
_tcscpy(m_holder.szUsage, _T("电缆支架"));
|
|
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
void CLGZJDlg::ShowXHolder()
|
|
{
|
|
m_wndList.DeleteAllItems();
|
|
|
|
CString sTmp;
|
|
for (int i = 0;i < m_holder.N;i++)
|
|
{
|
|
sTmp.Format(_T("%d"), i + 1);
|
|
m_wndList.InsertItem(i, sTmp);
|
|
|
|
sTmp.Format(_T("%d"), m_holder.nDists[i]);
|
|
m_wndList.SetItemText(i, 1, sTmp);
|
|
|
|
m_wndList.SetItemText(i, 2, g_pszSyss[m_holder.nSyss[i]]);
|
|
}
|
|
}
|
|
|
|
BOOL CLGZJDlg::GetXHolder(XHolder &xholder) const
|
|
{
|
|
memcpy(&xholder, &m_holder, sizeof(XHolder));
|
|
return TRUE;
|
|
}
|
|
|
|
void CLGZJDlg::SetXHolder(XHolder &xholder)
|
|
{
|
|
memcpy(&m_holder, &xholder, sizeof(XHolder));
|
|
}
|
|
|
|
//增加
|
|
void CLGZJDlg::OnBnClickedButton1()
|
|
{
|
|
CJZJHDlg dlg;
|
|
if (IDOK == dlg.DoModal())
|
|
{
|
|
CString sNo;
|
|
sNo.Format(_T("%d"), m_wndList.GetItemCount() + 1);
|
|
|
|
int nItem = m_wndList.InsertItem(m_wndList.GetItemCount(), sNo);
|
|
|
|
sNo.Format(_T("%d"), dlg.m_nDist);
|
|
m_wndList.SetItemText(nItem, 1, sNo);
|
|
|
|
m_wndList.SetItemText(nItem, 2, dlg.m_sSys);
|
|
}
|
|
}
|
|
|
|
//删除
|
|
void CLGZJDlg::OnBnClickedButton3()
|
|
{
|
|
POSITION ps = m_wndList.GetFirstSelectedItemPosition();
|
|
if (ps != NULL)
|
|
{
|
|
int nItem = m_wndList.GetNextSelectedItem(ps);
|
|
if (nItem != -1)
|
|
{
|
|
m_wndList.DeleteItem(nItem);
|
|
|
|
//排序
|
|
CString sNo;
|
|
for (int i = 0;i < m_wndList.GetItemCount();i++)
|
|
{
|
|
sNo.Format(_T("%d"),i+1);
|
|
m_wndList.SetItemText(i, 0, sNo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//修改
|
|
void CLGZJDlg::OnBnClickedButton5()
|
|
{
|
|
POSITION ps = m_wndList.GetFirstSelectedItemPosition();
|
|
if (ps != NULL)
|
|
{
|
|
int nItem = m_wndList.GetNextSelectedItem(ps);
|
|
if (nItem != -1)
|
|
{
|
|
CJZJHDlg dlg;
|
|
dlg.m_nDist = _ttoi(m_wndList.GetItemText(nItem, 1));
|
|
dlg.m_sSys = m_wndList.GetItemText(nItem, 2);
|
|
|
|
if (IDOK == dlg.DoModal())
|
|
{
|
|
CString sNo;
|
|
sNo.Format(_T("%d"), dlg.m_nDist);
|
|
m_wndList.SetItemText(nItem, 1, sNo);
|
|
|
|
m_wndList.SetItemText(nItem, 2, dlg.m_sSys);
|
|
}
|
|
}
|
|
}
|
|
}
|