MFC开发学生信息管理系统详细

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生信息管理系统(一)用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)

特别注意:创建的应用程序类型是单文档(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包含语句:#include 如图(图2.8)所示

(图2.8)

(三)构建班级信息对话框类

按“Ctrl+R”键,打开“插入资源”,选择dialog(对话框),选择新建。将名字改为IDD_CLASSINFO,标题为“班级信息输入”。按照(图3.1)添加控件。

对于学制框:使用Data页面来添加数据项,按Ctrl+Enter 换行。

(图3.1)

完成控件添加后,选择“建立类向导”,创建一个新类、即CClassInfoDlg,如图(3.2)所示。

然后按照下图,为控件添加成员变量。

(图3.2)(图3.3)

(图3.4)

使用类向导为CClassInfoDlg类添加WM_INITDIALOG消息映射。

代码位于附录1。见(图3.5)

使用类向导为CClassInfoDlg类添加IDOK按钮的BN_CLICKED消息映射。

代码位于附录2。见(图3.6)

(图3.5)

(图3.6)

鉴于添加代码都是从类向导找到相应的代码区域,以后就不详细截图了。(四)实现班级基本信息添加和显示功能

为CSTUDXINXIView类添加一个LOGFONT型成员变量m_lfFont

选择Add Member Variable... 出现(图4.1)所示输入下面表格的变量类型

在CSTUDXINXIView::CSTUDXINXIView() 添加代码。

代码位于附录3.

(图4.1)

添加一个成员函数

如(图4.2)所示。

(图4.2)

添加代码,位于附录4.

在STUDXINXIView.cpp文件的前面添加CClassInfo类的包含语句:#include"ClassInfoSet.h"

打开菜单资源,添加如(图4.3)所示的菜单项。

(图4.3)

用类向导为CSTUDXINXIView类添加该菜单项的COMMAND消息映射,并添加代码。

代码位于附录5

在CSTUDXINXIView::OnDraw 函数添加代码。

代码位于附录6

在STUDXINXIView.cpp文件的前面添加ClassInfoDlg类的包含语句:#include"ClassInfoDlg.h"

(五)查询班级信息

添加一个新的对话资源框,名字改为ID_SEEKCLASS 标题定为“查询班级信息”。按照下面

(图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)

运行,编译。

附录:

1

m_strYear="4"; //有关于消息映射 UpdateData(FALSE);

2

UpdateData();

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("必须要有班级号!");

else

3

memset(&m_lfFont,0,sizeof(LOGFONT));

m_lfFont.lfHeight=12;

m_lfFont.lfCharSet=GB2312_CHARSET;

strcpy(m_lfFont.lfFaceName,"宋体");

m_strClassNO=m_strSQL="";

4

CFont font;

相关文档
最新文档