/************************************************************************************************** 版本所有(C), 2020-2022, 北京普达迪泰 *************************************************************************************************** 文 件 名: DMSDoc.h 功能描述: 本项目采用MFC SDI多视图模式,此为文档类 版 本 号: 1.00初版 作 者: HYF 生成日期; 2021-12-20 最近修改: 函数列表: 修改历史: 1.日 期 :2021-12-20 作 者 : HYF 修改内容 : 创建文件 **************************************************************************************************/ #include "pch.h" #include "framework.h" #ifndef SHARED_HANDLERS #include "Dms.h" #endif #include "DmsDoc.h" #include "EquipTypeManager.h" #include "DictManager.h" #include "EquipTypePlaceManager.h" #include "EquipDataManager.h" #include "EquipDataPointManager.h" #include "EquipDataCircleManager.h" #include "EquipDataPlaneManager.h" #include "EquipDataLineManager.h" #include "EquipDataCylinderManager.h" #include "EquipDataAngleManager.h" #include "TaskManager.h" #include "PostureDataPointManager.h" #include "PostureDataAngleManager.h" #include #ifdef _DEBUG #define new DEBUG_NEW #endif // CDmsDoc IMPLEMENT_DYNCREATE(CDmsDoc, CDocument) BEGIN_MESSAGE_MAP(CDmsDoc, CDocument) END_MESSAGE_MAP() // CDmsDoc 构造/析构 CDmsDoc::CDmsDoc() noexcept { m_pEquipTypeManager = new EquipTypeManager(); m_pDictManager = new DictManager(); m_pEquipTypePlaceManager = new EquipTypePlaceManager(); m_pTaskManager = new TaskManager(); m_pEquipDataManager = new EquipDataManager(); m_pEquipDataPointManager = new EquipDataPointManager(); m_pEquipDataCircleManager = new EquipDataCircleManager(); m_pEquipDataPlaneManager = new EquipDataPlaneManager(); m_pEquipDataLineManager = new EquipDataLineManager(); m_pEquipDataCylinderManager = new EquipDataCylinderManager(); m_pEquipDataAngleManager = new EquipDataAngleManager(); m_pPostureDataPointManager = new PostureDataPointManager(); m_pPostureDataAngleManager = new PostureDataAngleManager(); } CDmsDoc::~CDmsDoc() { // 释放资源 delete m_pEquipTypeManager; delete m_pDictManager; delete m_pEquipTypePlaceManager; delete m_pTaskManager; delete m_pEquipDataManager; delete m_pEquipDataPlaneManager; delete m_pEquipDataCircleManager; delete m_pEquipDataLineManager; delete m_pEquipDataPointManager; delete m_pEquipDataCylinderManager; delete m_pEquipDataAngleManager; delete m_pPostureDataPointManager; delete m_pPostureDataAngleManager; } BOOL CDmsDoc::OnNewDocument() { if (!CDocument::OnNewDocument()) return FALSE; // TODO: 在此添加重新初始化代码 // (SDI 文档将重用该文档) return TRUE; } // CDmsDoc 序列化 void CDmsDoc::Serialize(CArchive& ar) { if (ar.IsStoring()) { // TODO: 在此添加存储代码 } else { // TODO: 在此添加加载代码 } } #ifdef SHARED_HANDLERS // 缩略图的支持 void CDmsDoc::OnDrawThumbnail(CDC& dc, LPRECT lprcBounds) { // 修改此代码以绘制文档数据 dc.FillSolidRect(lprcBounds, RGB(255, 255, 255)); CString strText = _T("数字化测量系统"); LOGFONT lf; CFont* pDefaultGUIFont = CFont::FromHandle((HFONT) GetStockObject(DEFAULT_GUI_FONT)); pDefaultGUIFont->GetLogFont(&lf); lf.lfHeight = 36; CFont fontDraw; fontDraw.CreateFontIndirect(&lf); CFont* pOldFont = dc.SelectObject(&fontDraw); dc.DrawText(strText, lprcBounds, DT_CENTER | DT_WORDBREAK); dc.SelectObject(pOldFont); } // 搜索处理程序的支持 void CDmsDoc::InitializeSearchContent() { CString strSearchContent; // 从文档数据设置搜索内容。 // 内容部分应由“;”分隔 // 例如: strSearchContent = _T("point;rectangle;circle;ole object;"); SetSearchContent(strSearchContent); } void CDmsDoc::SetSearchContent(const CString& value) { if (value.IsEmpty()) { RemoveChunk(PKEY_Search_Contents.fmtid, PKEY_Search_Contents.pid); } else { CMFCFilterChunkValueImpl *pChunk = nullptr; ATLTRY(pChunk = new CMFCFilterChunkValueImpl); if (pChunk != nullptr) { pChunk->SetTextValue(PKEY_Search_Contents, value, CHUNK_TEXT); SetChunkValue(pChunk); } } } #endif // SHARED_HANDLERS // CDmsDoc 诊断 #ifdef _DEBUG void CDmsDoc::AssertValid() const { CDocument::AssertValid(); } void CDmsDoc::Dump(CDumpContext& dc) const { CDocument::Dump(dc); } #endif //_DEBUG // CDmsDoc 命令 void CDmsDoc::SetTitle(LPCTSTR lpszTitle) { // TODO: 在此添加专用代码和/或调用基类 CDocument::SetTitle(_T("")); }