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