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

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