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(); 
 
}