#include "StdAfx.h" #include "CValLstDlg.h" IMPLEMENT_DYNAMIC(CValLstDlg, CDialog) CValLstDlg::CValLstDlg(CWnd *pParent /*=NULL*/) : CDialog(CValLstDlg::IDD, pParent) , m_sName(_T("")) , m_bParaEqu(FALSE) { } CValLstDlg::~CValLstDlg() { } void CValLstDlg::DoDataExchange(CDataExchange *pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_COMBONAMES, m_wndComboNames); DDX_Check(pDX, IDC_CHECK1, m_bParaEqu); } BEGIN_MESSAGE_MAP(CValLstDlg, CDialog) ON_BN_CLICKED(IDOK, &CValLstDlg::OnBnClickedOk) END_MESSAGE_MAP() BOOL CValLstDlg::OnInitDialog() { CDialog::OnInitDialog(); int nPos = 0; for (int i = 0;i < m_arVals.length();i++) { AecEqui::VlvType &vt = m_arVals.at(i); nPos = m_wndComboNames.AddString(vt.szNameCn); m_wndComboNames.SetItemData(nPos, (DWORD_PTR)vt.eType); } m_wndComboNames.SetCurSel(0); return TRUE; } void CValLstDlg::SetValNames(AcArray &arVals) { m_arVals.append(arVals); } AecEqui::ValveType CValLstDlg::GetSelValName(CString &sValName) { sValName = m_sName; return m_vt; } void CValLstDlg::OnBnClickedOk() { UpdateData(); int nSel = m_wndComboNames.GetCurSel(); if (nSel == -1) { AfxMessageBox(_T("请选择阀门类型!")); return; } m_wndComboNames.GetLBText(nSel, m_sName); m_vt = (AecEqui::ValveType)m_wndComboNames.GetItemData(nSel); EndDialog(IDOK); }