Скачиваний:
22
Добавлен:
01.05.2014
Размер:
1.34 Кб
Скачать
#include "stdafx.h"
#include "CH_KS.h"
#include "CH_KSDoc.h"

IMPLEMENT_DYNCREATE(CCH_KSDoc, CDocument)

BEGIN_MESSAGE_MAP(CCH_KSDoc, CDocument)
	//{{AFX_MSG_MAP(CCH_KSDoc)
	ON_UPDATE_COMMAND_UI(ID_INDICATOR_POINTS, OnUpdateIndicatorPoints)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

CCH_KSDoc::CCH_KSDoc()
{
}

CCH_KSDoc::~CCH_KSDoc()
{
}

BOOL CCH_KSDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	return TRUE;
}

void CCH_KSDoc::Serialize(CArchive& ar)
{
	  if (ar.IsStoring()) {
        ar << p.N();
	    for (int i = 0; i < p.N(); i++)
		   ar << p[i].x << p[i].y;
      }
	  else
      {  
	    Tcoord x, y;
        int t;

	    ar >> t;

	    if (t <= MAXPT && t > 0) {
	      
		  p.Resize(t);
	  
	      for (int i = 0; i < t; i++) {
             ar >> x;
             ar >> y;

             if (!p.Check(TMyPoint(x, y), i)) {
               p[i].x = x;
               p[i].y = y;
             }
             else
               AfxThrowFileException(CFileException::invalidFile);
          }
		}
	    else
         AfxThrowFileException(CFileException::invalidFile);
      }
}

void CCH_KSDoc::OnUpdateIndicatorPoints(CCmdUI *pCmdUI)
{
    CString Points;
	pCmdUI->Enable(TRUE);
	Points.Format("P:%d", p.N());
	pCmdUI->SetText(Points);
}

Соседние файлы в папке Source