#pragma once #include "resource.h" #include "UIIListCtrl.h" class CXFCTDlg : public CDialog { DECLARE_DYNAMIC(CXFCTDlg) public: struct _FIREET { CString name; int room; // 距舱室左侧距离 double left; // 两灭火器之间间距 double dist; CString path; bool operator < (_FIREET &f) { return room < f.room; } }; public: CXFCTDlg(const std::map &types, const std::vector<_FIREET> &data, CWnd* pParent = NULL); virtual ~CXFCTDlg(); enum { IDD = IDD_XFCT_DLG }; protected: virtual void DoDataExchange(CDataExchange* pDX); virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() public: afx_msg virtual void OnBnClickedOk(); afx_msg void OnBnClickedButton1(); afx_msg void OnBnClickedButton4(); afx_msg void OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult); void initList(const std::vector<_FIREET> &ets); static void Start(); public: CUIIListCtrl m_ctrlList; // 舱室名称 id-type std::map m_ewTypes; std::map m_ewTypes2; CStringList *m_pStrList; // 输入数据汇总 std::vector<_FIREET> m_datas; // 根据灭火器覆盖半径布置 int m_bByRad; };