ITEPROMPT| OFN_ALLOWMULTISELECT, "All Files (*.*)|*.*||",NULL); if (dlg.DoModal() == IDOK) { CFile m_File; m_File.Open(dlg.GetPathName(),CFile::modeCreate|CFile::modeWrite); //保存数据 CArchive ar(&;m_File,CArchive::store); for(int i=0;i
m_pointArray.GetSize();i++) { ar<m_pointArray[i].X<m_pointArray[i].Y; } ar.Close(); m_File.Close(); } } (3) 10 分 CMyDoc::OnOpenDocument(LPCTSTR lpszPathName){…},代码见下面: if(m_pointArrayOut.GetSize()>0)//如果集合里面有对象 { m_pointArrayOut.RemoveAll();//清空集合里面的所有对象 } CString filename=lpszPathName; CFile m_File; m_File.Open(filename, CFile::modeRead); //读取数据 CArchive ar(&;m_File,CArchive::load); for(int i=0;i>X>>Y; m_pointArrayOut.Add(Point(X,Y)); } ar.Close(); m_File.Close(); m_bOpen=TRUE; UpdateAllViews(NULL); (4) 5分 CMyView::OnDraw(){…},代码见下面:
pDC->MoveTo(pDoc->m_pointArrayOut[0].X,pDoc->m_pointArrayOut[0].Y);
for(int i=1;im_pointArrayOut.GetSize();i++) pDC->LineTo(pDoc->m_pointArrayOut[i].X,pDoc->m_pointArrayOut[i].Y); }