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