#pragma once #include "resource.h" #include "afxwin.h" #include "DwgCompareDbMgr.h" // CDwgCompareDlg 对话框 const int MAX_ENTCOUNT_ASONEAREA = 500; //不分区的最大实体数 const int MAX_ENTCOUNT_PERAREA = 1; //每个区域实体(未炸开)数 class CDwgCompareDlg : public CDialog { DECLARE_DYNAMIC(CDwgCompareDlg) public: CDwgCompareDlg(CWnd* pParent = NULL); // 标准构造函数 //通过已经初始化的CDwgCompareDbMgr构造对话框 //m_iType=1:局部比对,pMgr1,pMgr2都已经加载数据 //m_iType=2:图纸比对,文件已加载到pMgr1,pMgr2 CDwgCompareDlg(CDwgCompareDbMgr * pMgr1, CDwgCompareDbMgr * pMgr2, int m_iType, CWnd* pParent = NULL); virtual ~CDwgCompareDlg(); virtual BOOL OnInitDialog(); afx_msg void OnBnClickedFile1(); afx_msg void OnBnClickedFile2(); afx_msg void OnBnClickedAdvance(); afx_msg void OnBnClickedOk(); afx_msg void OnBnClickedCheckAlllayer1(); afx_msg void OnBnClickedCheckAlllayer2(); // 对话框数据 enum { IDD = IDD_TPMDWGCMP }; public: BOOL SetDbMgr(CDwgCompareDbMgr * pMgr1, CDwgCompareDbMgr * pMgr2); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP() protected: BOOL SelectFile(CString & strFile, CString & strPath); void InitLayerList(CDwgCompareDbMgr * pDbMgr, CCheckListBox & listBox); void EnableCmpButton(); void SetCompareLayer(CDwgCompareDbMgr * pDbMgr, CCheckListBox & listBox); void ShowAdvance(BOOL bShow); void CheckAllListItem(CCheckListBox & listBox, BOOL bCheck); BOOL CalcRowAndCol(int iEntCount); //根据实体数量计算分块数 public: int m_iRowCount; //分割行数 int m_iColumnCount; //分割列数 BOOL m_bCmpHatch; //是否比对图案填充 BOOL m_bCmpBlock; //是否比对块 BOOL m_bCmpXref; //是否比外部参照 double m_timeLoadFile1; //文件1加载时间 double m_timeLoadFile2; //文件2加载时间 protected: CString m_strFile1; //文件名 CString m_strFilePath1; //文件路径 CString m_strFile2; CString m_strFilePath2; CCheckListBox m_listLayer1; //比对图层列表 CCheckListBox m_listLayer2; BOOL m_bAllLayer1; //比对所有图层 BOOL m_bAllLayer2; BOOL m_bCmpClosedLayer1; BOOL m_bCmpFrozenLayer1; BOOL m_bCmpLockedlayer1; BOOL m_bCmpClosedLayer2; BOOL m_bCmpFrozenLayer2; BOOL m_bCmpLockedlayer2; CStatic m_staticPos; CDwgCompareDbMgr * m_pDbMgr1; CDwgCompareDbMgr * m_pDbMgr2; int iHeightDlg; //对话框高度 int m_iType; //0:文件比对, 1:部分比对 };