正在加载图片...
第16单元多文档界面程序 ar < m pointFrom < m pointTo < m colorLine < m nWidth ar >>m point From >>m pointTo >>m colorline >>m nWidth; void CLine: DrawLine(CDC *pDC) penNew. CreatePen(PS SOLID, m nWidth, m colorLine ppenOld pDC->SelectObject( &penNew pDC->Move To(m point From) pDC->Line To(m pointTo) pDC->SelectObject(ppenOld) 修改文档类头文件。在文件首部添加如下代码: #define MAX Lines 300 并在文档类定义中添加如下数据成员 CLine m lineList [MAX LINES] int 然后利用 Class wizard为文档类重载成员函数 Delete Contents。修改该函数及文档类的 Serialize()函数: void CMy Doc:: DeleteContentsO CDocument: DeleteContentso void CMy Doc:: Serialize(CArchive& ar) f(ar. IsStoring o) ar < m n Count for (int i=0; i<m n Count; i++) m lineList[i]. Serialize(ar)第 16 单元 多文档界面程序 330 ar << m_pointFrom << m_pointTo << m_colorLine << m_nWidth; else ar >> m_pointFrom >> m_pointTo >> m_colorLine >> m_nWidth; } void CLine::DrawLine(CDC *pDC) { CPen penNew, *ppenOld; penNew.CreatePen(PS_SOLID, m_nWidth, m_colorLine); ppenOld = pDC->SelectObject(&penNew); pDC->MoveTo(m_pointFrom); pDC->LineTo(m_pointTo); pDC->SelectObject(ppenOld); } 修改文档类头文件。在文件首部添加如下代码: #include "line.h" #define MAX_LINES 300 并在文档类定义中添加如下数据成员: public: CLine m_lineList[MAX_LINES]; int m_nCount; 然后利用 Class Wizard 为文档类重载成员函数 DeleteContents()。修改该函数及文档类的 Serialize()函数: void CMyDoc::DeleteContents() { m_nCount = 0; CDocument::DeleteContents(); } void CMyDoc::Serialize(CArchive& ar) { if (ar.IsStoring()) ar << m_nCount; else ar >> m_nCount; for(int i=0; i<m_nCount; i++) m_lineList[i].Serialize(ar); }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有