📄 outlook.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 + -