ImageVerifierCode 换一换
格式:DOC , 页数:24 ,大小:1.14MB ,
资源ID:8772871      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8772871.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MFC开发学生信息管理系统(详细).doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

MFC开发学生信息管理系统(详细).doc

1、 学生信息管理系统(一) 用 microsoft office access 创建一个数据库 student.mdb (图1.1)在表中添加字段和数据类型,如下图所示:(图1.2)(图1.3)(图1.4)创建 ODBC 数据源选择控制面板管理工具数据源(ODBC)系统 DSN 标签单击“添加” 出现下图所示的界面。选择 Drive do Microsoft Access ( *.mdb),单击“完成” 。输入数据源名,单击“选择、 、 、 ”,选择 c/student.mdb 单击“确定” ,将会出现如图(图1.7)所示。(图1.5)(图1.6)(图1.7)(二).MFC 图形建立(图2.1)

2、特别注意:创建的应用程序类型是单文档(single document 应用程序)(图2.2)将 CSTUDXINXIView 的基类改为 CScrollView 然后单击“完成” 。(图2.3)为数据表创建 CRecordSet 用户类 按“Ctrl+W ”进入“建立类向导(即 MFC ClasWizard) ” 单击“Add Class.”选择“New.”如图(图2.4)所示.按照(图2.5)(图2.6)(图2.7)的安装顺序。即可完成创建 CRecordSet 用户类的工作。 (图2.4)(图2.5)(图2.6)(图2.7)在 stdafx.h 文件中添加 CRecordSet 包含语句:

3、#include 如图(图2.8)所示(图2.8)(三)构建班级信息对话框类 按“Ctrl+R ”键,打开 “插入资源 ”,选择 dialog(对话框) ,选择新建。将名字改为IDD_CLASSINFO,标题为“班级信息输入” 。按照(图 3.1)添加控件。添加的控件 ID 号 标题 其他属性编辑框(班级号) IDC_EDIT_CLASSNO 默认编辑框(所在院系) IDC_EDIT_DEPART 默认编辑框(专业) IDC_EDIT_SPECIAL 默认组合框(学制) IDC_COMBO_YEAR 默认日期/时间控件(入学时间) IDC_DATETIMEPICKER1 默认对于学制框:使用

4、Data 页面来添加数据项,按 Ctrl+Enter 换行。 (图 3.1)完成控件添加后,选择“建立类向导” ,创建一个新类、即 CClassInfoDlg,如图(3.2)所示。然后按照下图,为控件添加成员变量。(图3.2)(图 3.3)控件 ID 号 变量类别 变量类型 变量名IDC_EDIT_CLASSNO Value CString m_strClassNOIDC_EDIT_DEPART Value CString m_strDepartIDC_EDIT_SPECIAL Value CString m_strSpecialIDC_COMBO_YEAR Value CString m_s

5、trYearIDC_DATETIMEPICKER1 Value CTime m_tEnter(图 3.4)使用类向导为 CClassInfoDlg 类添加 WM_INITDIALOG 消息映射。代码位于附录 1。 见(图 3.5)使用类向导为 CClassInfoDlg 类添加 IDOK 按钮的 BN_CLICKED 消息映射。代码位于附录 2。 见(图 3.6)(图 3.5)(图 3.6)鉴于添加代码都是从类向导找到相应的代码区域,以后就不详细截图了。(四)实现班级基本信息添加和显示功能为 CSTUDXINXIView 类添加一个 LOGFONT 型成员变量 m_lfFont 选择 Add

6、Member Variable. 出现(图 4.1)所示 输入下面表格的变量类型和名称即可。连续三次。变量类型 变量名称LOGFONT m_lfFontCString m_strClassNOCString m_strSQL在 CSTUDXINXIView:CSTUDXINXIView() 添加代码。代码位于附录 3.(图 4.1)添加一个成员函数 如(图 4.2)所示。(图 4.2)添加代码,位于附录 4.在 STUDXINXIView.cpp 文件的前面添加 CClassInfo 类的包含语句 :#include“ClassInfoSet.h“打开菜单资源,添加如(图 4.3)所示的菜单项

7、。 (图 4.3)用类向导为 CSTUDXINXIView 类添加该菜单项的 COMMAND 消息映射,并添加代码。代码位于附录 5在 CSTUDXINXIView:OnDraw 函数添加代码。代码位于附录 6在 STUDXINXIView.cpp 文件的前面添加 ClassInfoDlg 类的包含语句: #include“ClassInfoDlg.h“(五)查询班级信息添加一个新的对话资源框,名字改为 ID_SEEKCLASS 标题定为“查询班级信息” 。按照下面的表格添加控件。布局如(图 5.1 所示)添加的控件 ID 号 标题 其他属性单选按钮(按所在院系) IDC_RADIO1 默认单

8、选按钮(按专业) IDC_RADIO2 默认编辑框 IDC_EDIT1 默认(图 5.1)建立新类,为 IDC_EDIT1 添加一个 CString 型变量 m_strSeek为 CSeekClassDlg 类添加消息映射,代码位于附录 7为 CSeekClassDlg 类添加 CString 型成员变量 m_strSQL用类向导为 IDOK 按钮添加消息映射。代码位于附录 8打开菜单资源,添加菜单项如(图 5.2)所示。用类向导添加消息映射。代码位于附录 9在 STUDXINXIView.cpp 文件的前面添加包含语句:#include“SeekClassDlg.h“(图5.2)运行,编译。

9、附录:1m_strYear=“4“; /有关于消息映射UpdateData(FALSE);2UpdateData();m_strClassNO.TrimLeft();m_strDepart.TrimLeft();m_strSpecial.TrimLeft();if(m_strDepart.IsEmpty()MessageBox(“必须要有所院系!“);else if(m_strSpecial.IsEmpty()MessageBox(“必须要有班级!“);else if(m_strClassNO.IsEmpty()MessageBox(“必须要有班级号!“);else3memset(m_lfFo

10、nt.lfHeight=12;m_lfFont.lfCharSet=GB2312_CHARSET;strcpy(m_lfFont.lfFaceName,“宋体“);m_strClassNO=m_strSQL=“;4CFont font;LOGFONT lf=m_lfFont;lf.lfWeight=700;strcpy(lf.lfFaceName,“幼圆“);font.CreateFontIndirect(TEXTMETRIC tm;pDC-GetTextMetrics(int nLineHeight=(int)(tm.tmHeight+tm.tmExternalLeading)*1.5);/

11、行高为 1.5 倍字符高度int x=0,y=0,nWidth;CFont*oldFont=pDC-SelectObject( /使用新字体/输出表头CString strHeader=“班级号“,“ 所在院系“,“专业名称 “,“学制“,“入学时间“;int nStrWidth=10,25,25,8,10;CClassInfoSet cSet;cSet.m_strFilter=strSQL;cSet.Open();for(UINT i=0;iTextOut(x,y,strHeaderi);x+=nWidth;pDC-SelectObject(oldFont);/显示具体内容CString s

12、tr;while(!cSet.IsEOF()if(strClass=cSet.m_classno)/这是要强调显示的班级lf.lfWeight=0;strcpy(lf.lfFaceName,“楷体_GB2312“);font.DeleteObject();font.CreateFontIndirect(pDC-SelectObject(elsepDC-SelectObject(oldFont); /使用原来的字体x=0;y+=nLineHeight;for(UINT i=0;iTextOut(x,y,str);x+=nWidth;cSet.MoveNext();cSet.Close();/设置

13、视图滚动大小CSize sizeTotal;sizeTotal.cx=x+nWidth; sizeTotal.cy=y+nLineHeight;SetScrollSizes(MM_TEXT,sizeTotal);5CClassInfoDlg dlg;if(dlg.DoModal()!=IDOK) return;/向 classinfo 表添加新的记录,为了防止添加相同的记录,这里先来判断CClassInfoSet infoSet;infoSet.m_strFilter.Format(“classno=%s AND depart=%s“,dlg.m_strClassNO,dlg.m_strDep

14、art,dlg.m_strSpecial);infoSet.Open();if(!infoSet.IsEOF()MessageBox(dlg.m_strClassNO+“班级记录已被添加过! “); /if(infoSet.IsOpen() infoSet.Close();return;if(infoSet.IsOpen()infoSet.Close();CClassInfoSet addSet;if(addSet.Open()/添加一个新的 记录addSet.AddNew();addSet.m_classno=dlg.m_strClassNO;addSet.m_depart=dlg.m_st

15、rDepart;addSet.m_special=dlg.m_strSpecial;addSet.m_studyyear=(float)atof(dlg.m_strYear);addSet.m_entertime=dlg.m_tEnter;addSet.Update();addSet.Requery();if(addSet.IsOpen()addSet.Close();/更新视图m_strClassNO=dlg.m_strClassNO; m_strSQL=“;MessageBox(“稍等几分钟后,单击“确定”按钮!O(_)O 谢谢“,“ 特别提示“,MB_OK|MB_ICONINFORMAT

16、ION);Invalidate(); /重新调用 OnDraw6CFont font;font.CreateFontIndirect(CFont*oldFont=pDC-SelectObject(DispClassInfo(pDC,m_strClassNO,m_strSQL);pDC-SelectObject(oldFont);7CheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO1);8UpdateData();m_strSeek.TrimLeft();if(m_strSeek.IsEmpty()MessageBox(“查询内容不能为空!“);return;int nID=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO2);if(nID=IDC_RADIO1)m_strSQL.Format(“depart=%s“,m_strSeek);elsem_strSQL.Format(“special=%s“,m_strSeek);9CSeekClassDlg dlg;if(dlg.DoModal()=IDOK) m_strClassNO=“;m_strSQL=dlg.m_strSQL;Invalidate();

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报