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

📄 outlook.cpp

📁 一款自己制作的成绩查询系统,不很成熟,希望大家多交流
💻 CPP
字号:
// outlook.cpp : implementation file
//

#include "stdafx.h"
#include "mark.h"
#include "outlook.h"
#include "MainFrm.h"

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

/////////////////////////////////////////////////////////////////////////////
// Coutlook

IMPLEMENT_DYNCREATE(Coutlook, CView)

Coutlook::Coutlook()
{
}

Coutlook::~Coutlook()
{
}


BEGIN_MESSAGE_MAP(Coutlook, CView)
	//{{AFX_MSG_MAP(Coutlook)
	ON_WM_CREATE()
	ON_WM_SIZE()
	ON_WM_ERASEBKGND()
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_OUTBAR_NOTIFY, OnOutbarNotify)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Coutlook drawing

void Coutlook::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	// TODO: add draw code here
}

/////////////////////////////////////////////////////////////////////////////
// Coutlook diagnostics

#ifdef _DEBUG
void Coutlook::AssertValid() const
{
	CView::AssertValid();
}

void Coutlook::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// Coutlook message handlers
#include "resource.h"

static UINT Icons[] =
{
	IDI_ICON1,
	IDI_ICON2,
	IDI_ICON3,
	IDI_ICON4,
	IDI_ICON5,
	IDI_ICON6,
	IDI_ICON7,
	IDI_ICON8,
	IDI_ICON9,
	IDI_ICON10,
	IDI_ICON11,
	IDI_ICON12,
};

static LPCTSTR Title[] =
{
	_T("开始界面"),
	_T("学生档案"),
	_T("教师档案"),
	_T("课程"),
	_T("必修课"),
	_T("选修课"),
	_T("教师授课"),
	_T("录入成绩"),
	_T("单科报表"),
	_T("个人报表"),
	_T("班级成绩报表"),
	_T("退出"),
};
	CContentItems ContentInfo[] =
{
	CContentItems ( 0, Title[ 0]),
	CContentItems ( 1, Title[ 1]),
	CContentItems ( 2, Title[ 2]),
	CContentItems ( 3, Title[ 3]),
	CContentItems ( 4, Title[ 4]),
	CContentItems ( 5, Title[ 5]),
	CContentItems ( 6, Title[ 6]),
	CContentItems ( 7, Title[ 7]),
	CContentItems ( 8, Title[ 8]),
	CContentItems ( 9, Title[ 9]),
	CContentItems ( 10, Title[ 10]),
	CContentItems ( 11, Title[ 11]),
};




int Coutlook::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
		//建立翻页箭头
	if (!m_Pager.Create(WS_CHILD|WS_VISIBLE|PGS_VERT,
		CRect(0,0,0,0), this, IDC_STATIC ))
	{
		TRACE0("建立翻页箭头出错\n");
		return -1;
	}

	//设置列表框控件布局风格
	DWORD dwStyle = WS_CHILD | WS_VISIBLE | LBS_OWNERDRAWVARIABLE | 
		LBS_NOINTEGRALHEIGHT | WS_TABSTOP;

	//建立列表框控件,设定其父窗口为建立翻页箭头
	if (!m_OutlookBar.Create( dwStyle, CRect(0,0,0,0),
		&m_Pager, IDC_OUTBAR ))
	{
		TRACE0("建立列表框控件出错n");
		return -1;
	}
	
	int nArraySize = sizeof(Icons)/sizeof(Icons[0]);

	//将列表框控件与视图关联
	m_OutlookBar.SetOwner (this);

	// 设置建立翻页箭头的滚动区间
	// 12*图标高
	m_Pager.SetScrollArea( NULL, nArraySize*OB_CYBUTTON );
	// 设置建立翻页箭头的滚动区间
	m_Pager.SetChild(m_OutlookBar.GetSafeHwnd());
	m_Pager.SetButtonSize(15);
	
	//建立图像列表并追加图标
	m_ImageList.Create (32, 32, TRUE, 2, 1);
	for (int i =0; i < nArraySize; ++i) {
		m_ImageList.Add(AfxGetApp()->LoadIcon(Icons[i]));
	}
	//设置图像列表
	m_OutlookBar.SetImageLists(&m_ImageList, &m_ImageList);
	//设置按钮项目
	m_OutlookBar.SetItems(ContentInfo, nArraySize);	
	return 0;
}

void Coutlook::OnSize(UINT nType, int cx, int cy) 
{
	CView::OnSize(nType, cx, cy);
	
	if(m_Pager.GetSafeHwnd())
	{
		//显示翻页箭头	
		m_Pager.MoveWindow(0,0,cx,cy-2);
	}	
}

BOOL Coutlook::OnEraseBkgnd(CDC* pDC) 
{
	
	return CView::OnEraseBkgnd(pDC);
}
HBRUSH Coutlook::CtlColor(CDC* pDC, UINT nCtlColor)
{
	CBrush m_brHollow;
	m_brHollow.CreateStockObject(NULL_BRUSH);
	//NULL_BRUSH:不进行默认的处理
	return m_brHollow;
}
void Coutlook::OnSelEndOK(UINT lParam, LONG wParam)
{
	UINT uIndex = lParam; 
	//根据按钮的ID值进行消息响应
	switch( wParam )
	{
	case IDC_OUTBAR:
		AfxMessageBox(Title[uIndex]);
		break;
	}
}


long Coutlook::OnOutbarNotify(WPARAM wParam, LPARAM lParam)
{
	CMainFrame *p=(CMainFrame*)AfxGetMainWnd();
	if(p->login==0){
		p->Agenttalk("你现在还未登陆,请在菜单中登陆该系统!");
		return 0;
	}
	//根据按钮的ID值进行消息响应
	switch( wParam )
	{
	case 0:
		p->Changepage(0);
		break;
	case 1:
		if(p->login==1 || p->login==3){
			p->Changepage(1);
		}else{
			p->Agenttalk("您没有处理学生档案信息的权限!");
		}
		break;
	case 2:
		if(p->login==1 || p->login==5){
			p->Changepage(2);
		}else{
			p->Agenttalk("您没有处理教师档案信息的权限!");
		}
		break;
	case 3:
		if(p->login==1 || p->login==4){
			p->Changepage(3);
		}else{
			p->Agenttalk("您没有处理课程档案信息的权限!");
		}
		break;
	case 4:
		if(p->login==1 || p->login==2){
			p->Changepage(4);
		}else{
			p->Agenttalk("您没有处理学生选课的权限!");
		}
		break;
	case 5:
		if(p->login==1 || p->login==2){
			p->Changepage(5);
		}else{
			p->Agenttalk("您没有处理学生选课的权限!");
		}
		break;
	case 6:
		if(p->login==1 || p->login==7){
			p->Changepage(6);
		}else{
			p->Agenttalk("您没有处理教师授课的权限!");
		}
		break;
	case 7:
		if(p->login==1 || p->login==8){
			p->Changepage(7);
		}else{
			p->Agenttalk("您没有处理学生成绩的权限!");
		}
		break;
	case 8:
		if(p->login==1 || p->login==6){
			p->Changepage(8);
		}else{
			p->Agenttalk("您没有处理打印报表的权限!");
		}
		break;
	case 9:
		if(p->login==1 || p->login==6){
			p->Changepage(9);
		}else{
			p->Agenttalk("您没有处理打印报表的权限!");
		}
		break;
	case 10:
		if(p->login==1 || p->login==6){
			p->Changepage(10);
		}else{
			p->Agenttalk("您没有处理打印报表的权限!");
		}
		break;
	case 11:
		PostQuitMessage(0);
		break;
	}
	return 0;
}

⌨️ 快捷键说明

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