www.pudn.com > ±ÏÒµÁôÄî²á.rar > MySchoolPage.cpp


// MySchoolPage.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "Browse.h" 
#include "MySchoolPage.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
#define SCHOOL_X  75 
#define SCHOOL_Y  110 
///////////////////////////////////////////////////////////////////////////// 
// CMySchoolPage property page 
 
IMPLEMENT_DYNCREATE(CMySchoolPage, CPropertyPage) 
 
CMySchoolPage::CMySchoolPage() : CPropertyPage(CMySchoolPage::IDD) 
{ 
	//{{AFX_DATA_INIT(CMySchoolPage) 
	m_strSchool = _T(""); 
	m_MySchool = _T(""); 
	//}}AFX_DATA_INIT 
} 
 
CMySchoolPage::~CMySchoolPage() 
{ 
} 
 
void CMySchoolPage::DoDataExchange(CDataExchange* pDX) 
{ 
	CPropertyPage::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CMySchoolPage) 
	DDX_Text(pDX, IDC_SCHOOLINTRO, m_strSchool); 
	DDX_Text(pDX, IDC_INTRODUCE, m_MySchool); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CMySchoolPage, CPropertyPage) 
	//{{AFX_MSG_MAP(CMySchoolPage) 
	ON_WM_ERASEBKGND() 
	ON_WM_CTLCOLOR() 
	ON_WM_PAINT() 
	ON_BN_CLICKED(IDC_FORWORAD_PHOTO, OnForworadPhoto) 
	ON_BN_CLICKED(IDC_NEXT_PHOTO, OnNextPhoto) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CMySchoolPage message handlers 
 
BOOL CMySchoolPage::OnInitDialog()  
{ 
	CPropertyPage::OnInitDialog(); 
	m_NextPicbnt.SubclassDlgItem(IDC_NEXT_PHOTO,this); 
	m_NextPicbnt.DrawTransparent(TRUE); 
	m_FronPicbnt.SubclassDlgItem(IDC_FORWORAD_PHOTO,this); 
	m_FronPicbnt.DrawTransparent(TRUE); 
	 
	CString str=m_Classe->m_ClassIfo; 
	CDC *pDC=this->GetDC(); 
	//pDC->TextOut(40,70,str); 
	if(m_Picture.m_Picture.GetSize()!=0) 
	{ 
		m_Picture.m_Picture.RemoveAll(); 
	} 
	for(int i=0;im_SchoolPhoto.GetSize();i++) 
	{ 
		 
		m_Picture.m_Picture.Add(m_Classe->m_SchoolPhoto[i]); 
	} 
	Show(); 
//	SetTimer(1,3000,NULL); 
	// TODO: Add extra initialization here 
//	CString str=m_Classe->m_ClassIfo; 
//	CDC *pDC=this->GetDC(); 
	//pDC->TextOut(40,70,str); 
	if(m_Picture.m_Picture.GetSize()!=0) 
	{ 
		m_Picture.m_Picture.RemoveAll(); 
	} 
	for( i=0;im_SchoolPhoto.GetSize();i++) 
	{ 
		 
		m_Picture.m_Picture.Add(m_Classe->m_SchoolPhoto[i]); 
	} 
	Show(); 
	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
} 
void CMySchoolPage::Show() 
{ 
	m_MySchool=m_Classe->m_ClassIfo; 
	UpdateData(FALSE); 
} 
 
HBRUSH CMySchoolPage::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)  
{ 
	HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor); 
	 
	// TODO: Change any attributes of the DC here 
	if(nCtlColor==CTLCOLOR_DLG) 
	{ 
		pDC->SetTextColor(RGB(0,0,255)); 
		pDC->SetBkColor(RGB(0,192,0)); 
		HBRUSH b=CreateSolidBrush(RGB(0,192,0)); 
		return b; 
	} 
	if(nCtlColor==CTLCOLOR_EDIT||nCtlColor==CTLCOLOR_LISTBOX) 
	{ 
		pDC->SetBkMode(TRANSPARENT); 
		pDC->SetTextColor(RGB(0,0,0)); 
		pDC->SetBkColor(RGB(255,235,255)); 
		HBRUSH b=CreateSolidBrush(RGB(255,235,255)); 
		return b; 
	} 
	 
	if(nCtlColor==CTLCOLOR_STATIC) 
	{ 
		pDC->SetTextColor(RGB(0,0,255)); 
		pDC->SetBkColor(RGB(0,192,0)); 
		HBRUSH b=CreateSolidBrush(RGB(0,192,0)); 
		return b; 
	} 
	// TODO: Return a different brush if the default is not desired 
	return hbr; 
} 
 
void CMySchoolPage::OnPaint()  
{ 
	CPaintDC dc(this); // device context for painting 
	CDC*pDC=GetDC(); 
	pDC->SetTextColor(RGB(11,22,128)); 
	pDC->SetBkColor(RGB(253,240,253)); 
	pDC->TextOut(490,80,"°à¼¶¼ò½é"); 
	pDC->TextOut(350,370,"ͼƬ¼ò½é£º"); 
	// TODO: Add your message handler code here 
	GetPicture(); 
	// Do not call CPropertyPage::OnPaint() for painting messages 
} 
 
void CMySchoolPage::OnForworadPhoto()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Picture.m_Picture.GetSize()!=0) 
	{ 
		m_Picture.GetFronPicture(); 
		int flag=m_Picture.m_Picture[m_Picture.m_Index].mark; 
		m_strSchool=m_Picture.m_Picture[m_Picture.m_Index].introduction; 
		int styFrame=m_Picture.m_Picture[m_Picture.m_Index].sFrame; 
		CDC *pDC=this->GetDC(); 
		CRect m_Rect; 
		GetDlgItem(IDC_SCHOOLPIC)->GetWindowRect(m_Rect); 
		CPoint p1(SCHOOL_X,SCHOOL_Y); 
		CPoint p2(SCHOOL_X+m_Rect.Width(),SCHOOL_Y+m_Rect.Height()); 
		m_Rect.SetRect(p1,p2); 
		m_Picture.Show(pDC,m_Rect,flag); 
		m_Picture.ShowFrame(pDC,p1.x,p1.y,m_Rect,styFrame); 
		UpdateData(FALSE); 
	} 
} 
 
void CMySchoolPage::OnNextPhoto()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Picture.m_Picture.GetSize()!=0) 
	{ 
		m_Picture.GetNextPicture(); 
		int flag=m_Picture.m_Picture[m_Picture.m_Index].mark; 
		m_strSchool=m_Picture.m_Picture[m_Picture.m_Index].introduction; 
		int styFrame=m_Picture.m_Picture[m_Picture.m_Index].sFrame; 
		CDC *pDC=this->GetDC(); 
		CRect m_Rect; 
		GetDlgItem(IDC_SCHOOLPIC)->GetWindowRect(m_Rect); 
		CPoint p1(SCHOOL_X,SCHOOL_Y); 
		CPoint p2(SCHOOL_X+m_Rect.Width(),SCHOOL_Y+m_Rect.Height()); 
		m_Rect.SetRect(p1,p2); 
		m_Picture.Show(pDC,m_Rect,flag); 
		m_Picture.ShowFrame(pDC,p1.x,p1.y,m_Rect,styFrame); 
		UpdateData(FALSE); 
	} 
} 
 
 
void CMySchoolPage::GetPicture() 
{ 
	if(m_Picture.m_Picture.GetSize()!=0) 
	{ 
        m_Picture.GetPicture(); 
		int flag=m_Picture.m_Picture[m_Picture.m_Index].mark; 
		m_strSchool=m_Picture.m_Picture[m_Picture.m_Index].introduction; 
		int styFrame=m_Picture.m_Picture[m_Picture.m_Index].sFrame; 
		CDC *pDC=this->GetDC(); 
		CRect m_Rect; 
		GetDlgItem(IDC_SCHOOLPIC)->GetWindowRect(m_Rect); 
		CPoint p1(SCHOOL_X,SCHOOL_Y); 
		CPoint p2(SCHOOL_X+m_Rect.Width(),SCHOOL_Y+m_Rect.Height()); 
		m_Rect.SetRect(p1,p2); 
		m_Picture.Show(pDC,m_Rect,flag); 
		m_Picture.ShowFrame(pDC,p1.x,p1.y,m_Rect,styFrame); 
		UpdateData(FALSE); 
	} 
} 
BOOL CMySchoolPage::OnEraseBkgnd(CDC* pDC) 
{ 
	CDC		memDC; 
	CBitmap MPlayer; 
	if(!MPlayer.LoadBitmap(IDB_CLS)) 
		return FALSE; 
	memDC.CreateCompatibleDC(pDC); 
	CBitmap *pOldBmp=memDC.SelectObject(&MPlayer); 
	pDC->BitBlt(0,0,824,563,&memDC,0,0,SRCCOPY); 
	memDC.SelectObject(pOldBmp); 
	return TRUE; 
}