www.pudn.com > 毕业留念册.rar > ClasseManager.cpp
// ClasseManager.cpp: implementation of the CClasseManager class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Browse.h"
#include "ClasseManager.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
IMPLEMENT_SERIAL (CClasseManager, CObject, 1)
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CClasseManager::CClasseManager()
{
m_Position=NULL;
m_Index=0;
}
CClasseManager::~CClasseManager()
{
}
void CClasseManager::SaveClasseIfo(CString clasIfo)
{
m_ClassIfo=clasIfo;
}
void CClasseManager::SaveSchoolPhoto(PictureIfo scPhoto)
{
m_SchoolPhoto.Add(scPhoto);
}
void CClasseManager::SaveMusicIfo(CString music)
{
m_MusicIfo.Add(music);
}
CObject *CClasseManager::GetTeacher() //返回相应位置元素的指针
{
return m_Teaches.GetAt(m_Position);
}
CString CClasseManager::GetClasseIfo()
{
return m_ClassIfo;
}
PictureIfo CClasseManager::GetPictureIfo(int nIndex)
{
return m_SchoolPhoto[nIndex];
}
CString CClasseManager::GetMusicIfo(int nIndex)
{
return m_MusicIfo[nIndex];
}
void CClasseManager::Serialize(CArchive &ar)
{
CObject::Serialize(ar);
// Are we writing?
if (ar.IsStoring())
{
m_PictureNum=m_SchoolPhoto.GetSize();
ar<>m_ClassIfo>>m_PictureNum;
for(int i=0;i>m_Picture.fileName>>m_Picture.introduction>>m_Picture.mark>>m_Picture.sFrame;
m_SchoolPhoto.Add(m_Picture);
}
}
m_MusicIfo.Serialize(ar);
//m_SchoolPhoto.Serialize(ar);
m_Students.Serialize(ar);
m_Teaches.Serialize(ar);
}
void CClasseManager::DeletClassIfo()
{
m_ClassIfo="";
}
void CClasseManager::DeletMusic(int nIndex)
{
for(int i=nIndex;iIsKindOf(RUNTIME_CLASS(CStudent)))
{
CStudent *stu=(CStudent*)pObject;
pObList->AddHead(stu);
}
if(pObject->IsKindOf(RUNTIME_CLASS(CTeacher)))
{
CTeacher *stu=(CTeacher*)pObject;
pObList->AddHead(stu);
}
}
void CClasseManager::AddObList(CObList *fOblist, CObList *tObList)
{
tObList->AddHead(fOblist);
}
void CClasseManager::GetFronStudent(HWND hWnd)
{
if(m_Position!=NULL)
{
m_Index=(++m_Index)%m_Students.GetCount();
m_Position=m_Students.FindIndex(m_Index);
}
// else
//MessageBox(hWnd,"学生链是空的,或已到第一个学生^_^……","提示",MB_ICONINFORMATION);
}
void CClasseManager::GetNextStudent(HWND hWnd)
{
if(m_Position!=NULL)
{
if(m_Index<=0)
m_Index=--m_Index+m_Students.GetCount();
else
m_Index--;
m_Position=m_Students.FindIndex(m_Index);
}
// else
//MessageBox(hWnd,"学生链是空的,或已到最后一个老师^_^……","提示",MB_ICONINFORMATION);
}
CObject * CClasseManager::GetStudent()
{
return m_Students.GetAt(m_Position);
}
void CClasseManager::GetFronTeach(HWND hWnd)
{
if(m_Position!=NULL)
{
m_Index=(++m_Index)%m_Teaches.GetCount();
m_Position=m_Teaches.FindIndex(m_Index);
}
}
void CClasseManager::GetNextTeach(HWND hWnd)
{
if(m_Position!=NULL)
{
if(m_Index<=0)
m_Index=--m_Index+m_Teaches.GetCount();
else
m_Index--;
m_Position=m_Teaches.FindIndex(m_Index);
}
}
void CClasseManager::InItStudentInf()
{
m_Index=0;
m_Position=m_Students.GetHeadPosition();
}
void CClasseManager::InItTeachInf()
{
m_Index=0;
m_Position=m_Teaches.GetHeadPosition();
}