#pragma once #include "resource.h" #include "afxcmn.h" class CCheckPipeMultDim : public CDialog { DECLARE_DYNAMIC(CCheckPipeMultDim) public: CCheckPipeMultDim(CWnd* pParent = NULL); virtual ~CCheckPipeMultDim(); enum { IDD = IDD_CHECK_PIPEMULTDIM }; // 检查到的错误多管标注 void SetCheckDim(std::vector &vecDim); protected: virtual void DoDataExchange(CDataExchange* pDX); DECLARE_MESSAGE_MAP() public: virtual BOOL OnInitDialog(); afx_msg void OnNMDblclkListDim(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnBnClickedOk(); afx_msg void OnBnClickedBtnSinginRepair(); afx_msg void OnBnClickedBtnAllRepair(); private: // 初始化CListCtrl void InitListCtrl(); // 更新CListCtrl void UpdateListCtrl(); // 显示标注 void ShowDim(const AcDbObjectId &id); // 修复标注 bool RepairDim(const AcDbObjectId &id); // 获得所有管线 void GetAllPipes(std::vector &vecPipe); // 获得当前图纸所有管线信息 void GetPipeData(); private: CListCtrl m_lstCtrlDim; // 检查到的错误多管标注 std::vector m_vecDim; // 是否已修复 std::map m_mapDim; // 当前图纸所有管线信息 std::map m_mapPipe; };