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

80 lines
1.4 KiB
C++

#include "stdafx.h"
#include "CXSHSIZEDlg.h"
IMPLEMENT_DYNAMIC(CXSHSIZEDlg, CDialog)
CXSHSIZEDlg::CXSHSIZEDlg(std::vector<CString> &vec, CWnd* pParent)
: CDialog(IDD_DLG_XSHSize, pParent)
, m_iXHSL(0)
, m_iXHSW(0)
, m_sizes(vec)
{
}
CXSHSIZEDlg::~CXSHSIZEDlg()
{
}
void CXSHSIZEDlg::DoDataExchange(CDataExchange* pDX)
{
DDX_Control(pDX, IDC_LIST_SIZE, m_ListBoxSize);
DDX_Text(pDX, IDC_EDIT_LEN, m_iXHSL);
DDX_Text(pDX, IDC_EDIT_WIDTH, m_iXHSW);
}
BOOL CXSHSIZEDlg::OnInitDialog()
{
CDialog::OnInitDialog();
refreshList();
UpdateData(FALSE);
return TRUE;
}
BEGIN_MESSAGE_MAP(CXSHSIZEDlg, CDialog)
ON_BN_CLICKED(IDOK, &CXSHSIZEDlg::OnBnClickedOk)
ON_BN_CLICKED(IDC_BTN_ADD, &CXSHSIZEDlg::OnBnClickedAdd)
ON_BN_CLICKED(IDC_BTN_DELETE, &CXSHSIZEDlg::OnBnClickedDelete)
END_MESSAGE_MAP()
void CXSHSIZEDlg::OnBnClickedOk()
{
UpdateData();
CDialog::OnOK();
}
void CXSHSIZEDlg::OnBnClickedAdd()
{
UpdateData(TRUE);
CString str;
str.Format(_T("%d*%d"), m_iXHSL, m_iXHSW);
m_sizes.push_back(str);
refreshList();
}
void CXSHSIZEDlg::OnBnClickedDelete()
{
// 得到当前选中索引,得到itor
// m_sizes.erase();
int nSel = m_ListBoxSize.GetCurSel();
std::vector<CString>::iterator it = m_sizes.erase(m_sizes.begin() + nSel);
refreshList();
}
void CXSHSIZEDlg::refreshList()
{
// 先清空
m_ListBoxSize.ResetContent();
for (size_t i(0); i < m_sizes.size(); ++i)
{
m_ListBoxSize.AddString(m_sizes.at(i));
}
}