#include "stdafx.h" #include "CCopyAxFrFloorDlg.h" IMPLEMENT_DYNAMIC(CCopyAxFrFloorDlg, CDialog) CCopyAxFrFloorDlg::CCopyAxFrFloorDlg(CWnd* pParent /*=NULL*/) : CDialog(IDD_COPYAXFR_DLG, pParent) { m_pMapNameToItem = NULL; } CCopyAxFrFloorDlg::~CCopyAxFrFloorDlg() { } void CCopyAxFrFloorDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST1, m_wndFloorList); } BEGIN_MESSAGE_MAP(CCopyAxFrFloorDlg, CDialog) ON_BN_CLICKED(IDOK, &CCopyAxFrFloorDlg::OnBnClickedOk) END_MESSAGE_MAP() void CCopyAxFrFloorDlg::SetFloorMap(CMapStringToPtr *pMapNameToItem) { m_pMapNameToItem = pMapNameToItem; } BOOL CCopyAxFrFloorDlg::OnInitDialog() { CDialog::OnInitDialog(); ShowFloorList(); return TRUE; } void CCopyAxFrFloorDlg::ShowFloorList() { if (m_pMapNameToItem != NULL) { CString sName; void* pVoid = NULL; for (POSITION ps = m_pMapNameToItem->GetStartPosition(); ps != NULL;) { m_pMapNameToItem->GetNextAssoc(ps,sName,(void*&)pVoid); m_wndFloorList.AddString(sName); } } } bool CCopyAxFrFloorDlg::GetSelectFloor(CString &sFromFloor) { sFromFloor = m_sFloorName; return m_sFloorName.IsEmpty() ? false : true; } void CCopyAxFrFloorDlg::OnBnClickedOk() { int nSel = m_wndFloorList.GetCurSel(); if (nSel == -1) { AfxMessageBox(_T("请选择楼层!")); return; } m_wndFloorList.GetText(nSel,m_sFloorName); CDialog::OnOK(); }