⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 collegemanagedemoview.cpp

📁 这是一个大学校园的数据库管理系统,请大家提意见
💻 CPP
字号:
// CollegeManageDemoView.cpp : implementation of the CCollegeManageDemoView class
//

#include "stdafx.h"
#include "CollegeManageDemo.h"

#include "CollegeManageDemoDoc.h"
#include "CollegeManageDemoView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCollegeManageDemoView

IMPLEMENT_DYNCREATE(CCollegeManageDemoView, CScrollView)

BEGIN_MESSAGE_MAP(CCollegeManageDemoView, CScrollView)
	//{{AFX_MSG_MAP(CCollegeManageDemoView)
	ON_COMMAND(ID_PERSON_QUERY, OnPersonQuery)
	ON_COMMAND(ID_VIEW_CLEAR, OnViewClear)
	ON_WM_ERASEBKGND()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCollegeManageDemoView construction/destruction

CCollegeManageDemoView::CCollegeManageDemoView()
{
	// TODO: add construction code here
	m_bShow = 0;
}

CCollegeManageDemoView::~CCollegeManageDemoView()
{
}

BOOL CCollegeManageDemoView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CScrollView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CCollegeManageDemoView drawing

void CCollegeManageDemoView::OnDraw(CDC* pDC)
{
	CCollegeManageDemoDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	int i;
	int nYPos;
	CString str;

	if (!m_bShow)
		return;	
	
	CFont cjcf;
	pDC->SetROP2(R2_COPYPEN);
	cjcf.CreateFont(20,10,0,0,50,0,0,0,255,OUT_TT_PRECIS,
		CLIP_CHARACTER_PRECIS,DEFAULT_QUALITY,FIXED_PITCH,"宋体");
	CFont *cjcbakf = pDC->SelectObject(&cjcf);
	pDC->SetBkMode(TRANSPARENT);
	pDC->SetTextColor(RGB(0,0,50));	

	nYPos = 0;
	//教师信息
	for (i=0;i<=pDoc->m_TeacherArray.GetUpperBound();i++)
	{
		str.Format("%s <%d>","教师对象:",i+1);
		pDC->TextOut(100,20+160*i,str);
		str = "编号: " + pDoc->m_TeacherArray.GetAt(i)->m_strId;
		pDC->TextOut(120,50+160*i,str);
		str = "姓名: " + pDoc->m_TeacherArray.GetAt(i)->m_strName;
		pDC->TextOut(120,50+160*i+20,str);
		str = "性别: " + pDoc->m_TeacherArray.GetAt(i)->m_strSex;
		pDC->TextOut(120,50+160*i+40,str);
		str = "出生日期: " + pDoc->m_TeacherArray.GetAt(i)->m_strBirthday;
		pDC->TextOut(120,50+160*i+60,str);
		str = "单位: " + pDoc->m_TeacherArray.GetAt(i)->m_strUnit;
		pDC->TextOut(120,50+160*i+80,str);
		str = "职称: " + pDoc->m_TeacherArray.GetAt(i)->m_strType;
		pDC->TextOut(120,50+160*i+100,str);
	}
	nYPos = nYPos + 160*i;
	//本科生信息
	for (i=0;i<=pDoc->m_UndergraduateArray.GetUpperBound();i++)
	{
		str.Format("%s <%d>","本科生对象:",i+1);
		pDC->TextOut(100,nYPos+20+190*i,str);
		str = "编号: " + pDoc->m_UndergraduateArray.GetAt(i)->m_strId;
		pDC->TextOut(120,nYPos+50+190*i,str);
		str = "姓名: " + pDoc->m_UndergraduateArray.GetAt(i)->m_strName;
		pDC->TextOut(120,nYPos+50+190*i+20,str);
		str = "性别: " + pDoc->m_UndergraduateArray.GetAt(i)->m_strSex;
		pDC->TextOut(120,nYPos+50+190*i+40,str);
		str = "出生日期: " + pDoc->m_UndergraduateArray.GetAt(i)->m_strBirthday;
		pDC->TextOut(120,nYPos+50+190*i+60,str);
		str = "学号: " + pDoc->m_UndergraduateArray.GetAt(i)->m_strSid;
		pDC->TextOut(120,nYPos+50+190*i+80,str);
		str = "班级: " + pDoc->m_UndergraduateArray.GetAt(i)->m_strClass;
		pDC->TextOut(120,nYPos+50+190*i+100,str);
		str = "辅导员: " + pDoc->m_UndergraduateArray.GetAt(i)->m_strSid;
		pDC->TextOut(120,nYPos+50+190*i+120,str);
		str = "专业: " + pDoc->m_UndergraduateArray.GetAt(i)->m_strClass;
		pDC->TextOut(120,nYPos+50+190*i+140,str);

	}
	
	nYPos = nYPos + 190*i + 30;
	//研究生信息 
	for (i=0;i<=pDoc->m_MasterArray.GetUpperBound();i++)
	{
		str.Format("%s <%d>","研究生对象:",i+1);
		pDC->TextOut(100,nYPos+20+190*i,str);
		str = "编号: " + pDoc->m_MasterArray.GetAt(i)->m_strId;
		pDC->TextOut(120,nYPos+50+190*i,str);
		str = "姓名: " + pDoc->m_MasterArray.GetAt(i)->m_strName;
		pDC->TextOut(120,nYPos+50+190*i+20,str);
		str = "性别: " + pDoc->m_MasterArray.GetAt(i)->m_strSex;
		pDC->TextOut(120,nYPos+50+190*i+40,str);
		str = "出生日期: " + pDoc->m_MasterArray.GetAt(i)->m_strBirthday;
		pDC->TextOut(120,nYPos+50+190*i+60,str);
		str = "学号: " + pDoc->m_MasterArray.GetAt(i)->m_strSid;
		pDC->TextOut(120,nYPos+50+190*i+80,str);
		str = "班级: " + pDoc->m_MasterArray.GetAt(i)->m_strClass;
		pDC->TextOut(120,nYPos+50+190*i+100,str);
		str = "导师: " + pDoc->m_MasterArray.GetAt(i)->m_strSid;
		pDC->TextOut(120,nYPos+50+190*i+120,str);
		str = "研究成果: " + pDoc->m_MasterArray.GetAt(i)->m_strClass;
		pDC->TextOut(120,nYPos+50+190*i+140,str);

	}

	nYPos += 190*i;

	pDC->SelectObject(cjcbakf);//恢复字模

	CSize sizeTotal;
	// TODO: calculate the total size of this view
	sizeTotal.cx = 100;
	sizeTotal.cy = nYPos +100;
	SetScrollSizes(MM_TEXT, sizeTotal);
}

void CCollegeManageDemoView::OnInitialUpdate()
{
	CScrollView::OnInitialUpdate();

	CSize sizeTotal;
	// TODO: calculate the total size of this view
	sizeTotal.cx = sizeTotal.cy = 100;
	SetScrollSizes(MM_TEXT, sizeTotal);
}

/////////////////////////////////////////////////////////////////////////////
// CCollegeManageDemoView diagnostics

#ifdef _DEBUG
void CCollegeManageDemoView::AssertValid() const
{
	CScrollView::AssertValid();
}

void CCollegeManageDemoView::Dump(CDumpContext& dc) const
{
	CScrollView::Dump(dc);
}

CCollegeManageDemoDoc* CCollegeManageDemoView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CCollegeManageDemoDoc)));
	return (CCollegeManageDemoDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CCollegeManageDemoView message handlers

void CCollegeManageDemoView::OnPersonQuery() 
{
	// TODO: Add your command handler code here
	m_bShow = 1;
	Invalidate();
}

void CCollegeManageDemoView::OnViewClear() 
{
	// TODO: Add your command handler code here
	m_bShow = 0;
	Invalidate();	
}

void CCollegeManageDemoView::Clear()
{
	m_bShow = 0;
	Invalidate();	
}

BOOL CCollegeManageDemoView::OnEraseBkgnd(CDC* pDC) 
{
	// TODO: Add your message handler code here and/or call default
	CBrush MyBrush;
	MyBrush.CreateSolidBrush(RGB(240,251,223));
	CBrush *pOldBrush = pDC->SelectObject(&MyBrush);
	CRect Rect;
	GetClientRect(&Rect);
	Rect.bottom = Rect.Height() * 100;
	Rect.top = -100000;
	pDC->Rectangle(&Rect);
	pDC->SelectObject(pOldBrush);
	return true;
//	return CScrollView::OnEraseBkgnd(pDC);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -