《mfc可视化编程--学生信息管理系统.doc》由会员分享,可在线阅读,更多相关《mfc可视化编程--学生信息管理系统.doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datemfc可视化编程-学生信息管理系统mfc可视化编程-学生信息管理系统mfc可视化编程-学生信息管理系统过程学习目标了解MFC应用向导所生成应用程序的基本结构;掌握对话框编程的一般方法;学习用类向导添加消息响应函数及控件关联变量;掌握Windows通用控件使用方法;了解Windows通用对话框编程的使用方法。实例:学生信息管理系统创建一个基于对话框的学生信息管理系统,可
2、实现学生信息的输入和查询。该工程分为两个对话框,主要实现按学号查询功能;并设置了一个按钮“输入学生信息”来打开“输入学生信息”对话框步骤1 创建基于对话框的应用程序框架 项目名称: student ,选择对话框应用程序框架。本程序中管理的学生信息包括:学号、姓名、性别、专业、是否少数民族等一些信息,打开studentDlg.h文件,在预处理命令后输入:struct studentCString sno;/学号CString sname;/姓名CString inst;/学院专业int sex;/性别BOOL minzu;/是否少数民族; 然后在CStudentDlg类中添加两个静态成员变量,用
3、来存储学生信息及记录存储的学生数量:点第二个对话框建立类向导Object IDs下选CInputDlgMessage 下选WM_I.然后点edit code将代码放进去public: static int count;/存储学生数量 static student m100;/存储学生信息最后在studentDlg.cpp源文件中对这两个静态成员变量进行初始化。在CStudentDlg类的函数定义前输入:int CStudentDlg:count=0;student c;student CStudentDlg:m=c;步骤2 编辑主对话框资源设置对话框IDD_STUDENT_DIALOG的Cap
4、tion属性为“学生信息管理系统”。添加控件:ID 控件类型 属性IDC_INTPUT Button Caption:输入学生信息IDC_QUERY Button Caption:查 询IDC_EXIT Button Caption:退 出IDC_NUMBER Edit Box IDC_RESULT Edit Box(选中Multiline Wantreturn Readonly)IDC_STATIC Static Text Caption:查询学生的学号:IDC_STATIC Static Text Caption:查询结果步骤3 添加输入对话框在项目工作区中选择Resource View添
5、加新对话框,设置新对话框IDD_INPUT,Caption属性为“输入学生信息”。添加控件,关键控件属性:ID 控件类型 属性IDC_SAVE Button Caption:保 存IDC_CANCEL Button Caption:结 束IDC_STATIC Static Text Caption:学号、姓名、学院专业IDC_EDIT_NUMBER Edit BoxIDC_EDIT_NAME Edit BoxIDC_CHECK_MINZU Check Box Caption:是否少数民族IDC_STATIC Group Box Caption:性别IDC_BOY Radio Button Ca
6、ption:男IDC_GIRL Radio Button Caption:女添加对话框类CInputDlg添加控件关联变量控件初始化 在对话框类CInputDlg的成员函数OnInitDialog( )中添加代码:m_list_zy.AddString(计算机应用);/向列表中添加专业列表选项m_list_zy.AddString(计算机网络);m_list_zy.AddString(计算机软件);m_list_zy.AddString(电子);m_list_zy.AddString(媒体设计);m_list_zy.SetCurSel(0);/设置第一项为缺省选中项m_sex=0;/设置单选按
7、钮的第一个缺省选中UpdateData(false);/将值传到控件显示 其中m_list_zy为列表成员变量名。添加消息映射及消息映射函数 int nstucount=CStudentDlg:count;/存放学生信息数量 BOOL b=false; UpdateData();/读取用户输入的学生信息 for(int i=0;i /将学生学号依次和数组中的比较if(CStudentDlg:mi.sno=m_sno)/找到学号相同 b=true;MessageBox(该学号已经存在,请重新输入!);break;if (b=false)/没找到相同学号if(nstucountsno=m_sno;
8、pstu-sname=m_sname;pstu-inst=m_zy;pstu-minzu=m_minzu; pstu-sex=m_sex;CStudentDlg:count+;/个数加一m_sno=m_sname=m_zy=;m_minzu=0;UpdateData(false);else MessageBox(信息已满!);由于在CInputDlg:OnSave() 函数中调用了CstudentDlg类中的静态成员变量,因此在InputDlg.cpp源文件的文件包含指令后输入#include studentDlg.h步骤4 在主对话框中启动输入对话框在主对话框中为“输入学生信息”按钮建立消息
9、映射函数,并添加代码如下:void CStudentDlg:OnIntput()CInputDlg InputDlg;InputDlg.DoModal();为主对话框中两个编辑框控件IDC_NUMBER 和IDC_RESULT添加两个成员变量:m_sno和m_result点击查询按钮:添加一下程序void CStudentDlg:OnQuery()BOOL b=false;/标示是否查到学生信息UpdateData();/获取学号for(int i=0;iif(mi.sno=m_sno)/ 找到记录b=true;m_result=学号:+mi.sno+rn姓名:+mi.sname+rn专业:+mi.inst+rn;if(mi.minzu)m_result+=少数民族rn;if(mi.sex)m_result+=“女;else m_result+=“男;UpdateData(false);break;if(!b) MessageBox(没有该学生);在studentDlg.cpp文件的文件包含指令后输入指令:#include InputDlg.h两个对话框的退出按钮添加代码OnOK();步骤5 链接运行程序-
限制150内