- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学生成绩管理系统(详细操作过程)
学生成绩管理系统
我将把我的实现步骤完整的写出来,我是在VC 6.0版本下用MFC实现的。
我创建的基于单文档的应用程序,过程不介绍,大家都会。下面的是我系统菜单:
思路:
刚进入系统时,只有“登录”菜单可用,其他三个菜单项都是灰色不可用的。当用户点“进入系统”菜单项时,用户输入用户名、密码和用户类型,系统将根据相应的用户权限使相应的菜单可用,并且“进入系统”菜单项变为不可用。如:如果用户类型是学生,那么只有学生权限菜单可用,而“教师权限”和“管理员权限”都不可用,同时“进入系统”变为不可用。
“学生权限”下只有“查询成绩”,因为学生只可以查询自己相应的成绩;“教师权限”下有“查询学生成绩”和“增改删学生成绩”两个菜单项,因为教师除了可以查询学生成绩还可以增加、修改和删除学生成绩;“管理员权限”下有“管理学生”和“管理教师”两个菜单项。
整体设计:
因为我们要设置系统菜单的状态,所以必须在CMainFrame中添加相应的函数和代码,具体步骤如下:
【步骤1】由于系统要使用ODBC类操作数据库,所以需要在stdafx.h中加入代码:
#include afxdb.h
【步骤2】在CMainFrame中的OnCreat()中添加代码如下,实现菜单的初始化工作,当用户没进入系统之前,只有“登陆”菜单下的“进入系统”菜单项可用,而“退出系统”和其他3个权限菜单都不可用,即都是灰色的。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
//使“退出系统”和其他3个权限菜单都不可用,即都是灰色的
GetMenu()-GetSubMenu(0)- EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);
GetMenu()- EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);
GetMenu()- EnableMenuItem(2,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);
GetMenu()- EnableMenuItem(3,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);
}
【步骤3】在CMainFrame中添加自己定义的函数void SetMenuSta(int type),此函数在登陆对话框的OnOK()中被调用,即当用户进入系统后使“进入系统”菜单项不可用,并根据用户类型使相应菜单可用。当类型为1时(学生),使“学生权限”菜单可用;当类型为2时(教师),使“教师权限”菜单可用;当类型为3时,使“管理员”菜单可用。
void CMainFrame::SetMenuSta(int type)
{
AfxGetMainWnd()-GetMenu()-GetSubMenu(0)-EnableMenuItem(0,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);
if(type==1)
{
AfxGetMainWnd()-GetMenu()-EnableMenuItem(1,MF_BYPOSI TION | MF_ENABLED);
//在上面的OnCreate中可以直接通过GetMenu()对菜单操作,
//但这里却必须先通过AfxGetMainWnd()获得主窗体指针,
//浪费了我一晚上时间,虽然解决了,但还不知道为什么。
}
if(type==2)
{
AfxGetMainWnd()-GetMenu()-EnableMenuItem(2,MF_BYPOSITION | MF_ENABLED);
}
if(type==3)
{
AfxGetMainWnd()-GetMenu()-EnableMenuItem(3,MF_BYPOSITION | MF_ENABLED);
}
}
【步骤4】通过上面两步并不能按我们的想法实现菜单变灰的操作,运行系统各菜单都是可用的,我们必须在CMainFrame的构造函数中添加下面一句代码:
m_bAutoMenuEnable=FALSE;
m_bAutoMenuEnable必须放在 CMai
您可能关注的文档
- 威速V2视频会议安装及调试详解.doc
- 威胜DSSD332DTSD342-1W有功电能表说明书.doc
- 娃娃黄埔军校制度.doc
- 娱乐场所服务者艾滋病高危行为干预分析.docx
- 威菌磷安全技术说明书.doc
- 娱乐新概念--影院式KTV让灵魂与肉体升华.doc
- 婚庆行业市场研究报告1229.docx
- 婚礼物资准备清单及流程.doc
- 婴儿采购清单.doc
- 婴幼儿奶粉行业市场需求报告目录.doc
- 2024至2030年中国人造棉面料行业投资前景及策略咨询报告.docx
- 重庆市渝中区遴选公务员2024年国家公务员考试考试大纲历年真题10340笔试历年典型考题及解题思路附.docx
- 2024至2030年中国甲基苯乙酮行业深度调研及发展预测报告.docx
- 2024至2030年中国羚羊角类饮片行业深度调查与前景预测分析报告.docx
- 重庆市面向中国农业大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题14笔试历.docx
- 重庆市面向西北工业大学定向选调2024届大学毕业生00笔试历年典型考题及解题思路附答案详解.docx
- 中国不动杆菌感染治疗药行业市场现状分析及竞争格局与投资发展研究报告2024-2029版.docx
- 2024至2030年全球与中国ETL软件市场现状及未来发展趋势.docx
- 初中八年级(初二)生物下册期末考试1含答案解析.docx
- 干簧式继电器项目申请报告.docx
文档评论(0)