收藏 分销(赏)

毕业论文(设计)利用mfc开发综合人事管理系统.pdf

上传人:曲**** 文档编号:3138612 上传时间:2024-06-19 格式:PDF 页数:57 大小:2.35MB
下载 相关 举报
毕业论文(设计)利用mfc开发综合人事管理系统.pdf_第1页
第1页 / 共57页
毕业论文(设计)利用mfc开发综合人事管理系统.pdf_第2页
第2页 / 共57页
毕业论文(设计)利用mfc开发综合人事管理系统.pdf_第3页
第3页 / 共57页
毕业论文(设计)利用mfc开发综合人事管理系统.pdf_第4页
第4页 / 共57页
毕业论文(设计)利用mfc开发综合人事管理系统.pdf_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、摘 要随着图形用户界面操作平台的出现,软件编程技术也得到了相应的发展,出现了 众多的Windows编程软件,如VB、Dephi等。VC+编程软件是当前受到世界业内人士广 泛欢迎的种编程软件,它是种集编译、编辑、调试为一体的开发软件,当前各种 编程软件中,功能最强的软件之一,其拥有编译速度快,执行效率高等诸多优点。在 VC+中,Microsoft提供了一个基础类库MFC(Microsoft Foundation Classes),在此类 库中已经存在了大量用于图形界面编程所需要的类,因此给编程人员带来了很大的方 便,能够快速的开发出功能强大的软件。因此我选择了VC+这种软件开发本系统。SQL S

2、ERVER 2000作为高性能关系数据库系统,其运行速度快,能迅速响应系统要求,查 询效率高,并且其还拥有两种建立数据库的方法,第一种方法是在企业管理器中创建,也可以在查询分析器种写入代码创建数据库。本系统前台用VC+编程,后台用SQL SERVER 2000数据库,通过VC+中的ADO控件将两者结合起来使用,利用MFC开发了综 合人事管理系统。本软件可以清楚的查询以及修改员的基本信息,家庭成员的的信息,以及所 在部门的信息也可以对它们进行添加、删除等多种功能。也可以对员的工作进行 考勤以及评价。对员每天考勤,进行月底统计,然后对每个员进行评估。关键词:MFC、可视化编程、SQL语言利用MFC

3、开发综合人事管理系统AbstractWith the graphical user interface in the operating platform,software programming technology has also been a corresponding development of a large number of Windows programming software,such as VB,Dephi,and so on.VC+programming software is currently the world industry widely welcomed

4、 as a software programming it is a collection compiled,edited,as one of debugging software development,the current wide variety of programming software,features one of the strongest software,Which has a fast compiler,the implementation of high efficiency advantages.In VC,Microsoft provides a basis f

5、or class library MFC(Microsoft Foundation Classes),has been in existence for such a large number of programming for the graphical interface required by the category,to the programming staff has brought great convenience,Enable the rapid development of powerful software.So I chose the VC+software dev

6、elopment of the system.SQL S ERVER 2000 as a high-performance relational database system,its operation speed,rapid response system requirements for high efficiency,and its establishment of a database also has two ways,first method is the manager of the enterprise to create,and Query Analyzer can cre

7、ate a kind of code written into the database.Prospects of the system with VC+programming,background database using SQL SERVER 2000,through the VC+ADO control of the two used together,the use of MFC development of a comprehensive personnel management system.This software can be clear for staff and re

8、vise the basic information,family members of the information and the departments of information on them can also add,delete and other features.Can also be the work of the staff performance appraisal and evaluation?Daily attendance of staff,the end of statistics,and then to evaluate each employee.Key

9、word:MFC.can see to turn to design.the language of SQL-2-目 录弓I 言.-5-第1章系统的简述.-6-1.1系统功能.-6-1.2 功能模块划分.-7-1.3 系统流程分析.-7-第2章数据库设计.-9-2.1创建数据库.-9-2.2设计表结构.-9-第3章 设计工程框架.-12-3.1创建工程并设置主界面.-12-3.2 为表添加类.-13-3.3 设计登录模块.-17-第4章部门管理模块设计.-19-4.1 设计部门信息编辑对话框.-19-4.2 设计部门信息管理对话框.-20-4.3 设计选择部门对话框.-21-4.4 在主界面中

10、增加部门管理代码.-22-第5章 员基本信息管理模块设计.-23-5.1 设计选择员对话框.-23-5.2 设计编辑员工基本信息的对话框.-24-5.3 设计员信息管理对话框.-27-5.4 设计员调转部门对话框.-28-第6章 员列表管理模块设计.-29-6.1 保存BMP图象.-29-6.2显示BMP图象.-29-6.3从数据库中读取BMP图象.-29-第7章家庭成员及工作经历管理模块设计.-30-7.1 设计员家庭成员管理模块.-30-7.2 设计员工学习及工作经历管理模块.-31-第8章员考勤管理模块设置.-33-8.1设计考勤信息编辑对话框.-33-8.2设计考勤信息管理对话框.-3

11、3-8.3设计月度考勤表.-35-第9章 员考评管理模块设计.-37-利用MFC开发综合人事管理系统9.1设计考评信息编辑对话框.-37-9.2设计考评信息管理对话框.-37-第10章 用户管理模块设置.-38-10.1 设计添加用户信息的对话框.-38-10.2 设计用户管理对话框.-38-10.3 设计修改用户密码的对话框.-39-10.4 在主界面中增加用户管理密码.-39-第n章结束语.-40-致谢.-41-参考文献.-42-附录.-43-4-引 言随着科技的日益壮大发展,大量的信息必然使得传统的人工统计管理方式被方便 快捷的现代化管理技术取代。因此,人们利用计算机对信息的管理已经成为

12、种趋势。人事管理是企业管理的个重要内容,随着时代的进步,企业也逐渐变的强大起来。如何管理好企业员内部信息,成为企业管理的个重要内容。在这种情况下,个 可以规范化,自动化的企业人事管理系统就显得极为重要。最初的人事管理都是靠人 完成,随着企业规模越来越大,企业员越来越多,依然维持人工管理必然造成工 作效率底,工作错误增高等问题。人事管理系统就是把分散的企业单位的职信息统、集中、规范的管理,建立规范的分类管理,电脑存储查询等现代化、专业化的管 理系统。为企业单位和职解除后顾之忧。员信息的录入、修改、删除及查询;员 工财务的信息的录入、查询、管理以及报表的生成;员内部公告、通知的发布,意 见的提出;

13、员到勤情况的考查。这系列的管理纷繁而又复杂,一到有变动,单靠 人工操作就忙得不可开交,而且很容易出错。在如今科技高速发展的今天,这种原始 而又低效的方式必然要被淘汰,取而代之的是高效而又准确的现代化管理。使用计算 机进行管理,优势在于系统简单、功能强大、扩展能力良好及操作简单等特性。VC基于C、C+语言,提高了 MFC类库,是与系统联系非常紧密的编程工具,它 兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在 Windows平台无所不能。SQL Server 2000是一个杰出的数据库平台,可用于大型联 机事务处理、数据仓库、以及电子商务等。其特点:真正的客户机/服务器体

14、系结构、图形化用户界而、丰富的编程接口工具。SQL Server与Windows NT完全集成、具有 很好的伸缩性、对Web技术的支持、SQL Server提供数据仓库功能。本文以开发人 事管理系统论述了怎样应用可视化设计工具(VC+6.0与SQL Server 2000)来设 计开发应用程序。在此基础上开发了本系统,本系统采用的前台是VC+编程,后台采用SQL SERVER 2000,:熟练的将两个结合起来使用,利用MFC开发了综合人事管理系统。本 系统可以对员所在的部门进行查询和修改,也可以查询和修改员的基本信息和家 庭成员的信息,以及对员的考勤管理和对员的考评管理。利用MFC开发综合人事

15、管理系统第1章系统的简述1.1系统功能1.部门佶息管理添加部门信息,包括部门编号.、部门名称、部门职能描述和上级部门等信息;修改部门信息;删除部门信息;查看部门信息。2.员基本信息管理 添加员基本信息,包括员编号、姓名、性别、生日、所在部门等信息;修改员基本信息;删除员基本信息;查看员基本信息。3.员照片管理 添加员照片,将指定的图像文件存储到数据库中;修改员照片;删除员照片;显示员照片。4.员主要家庭成员信息管理 添加员主要家庭成员信息,包括员主要家庭成员的姓名、关系、工作单 位等信息;修改员主要家庭成员信息;删除员主要家庭信息;查看员主要家庭成员信息。5.员主要教育与工作经历管理 添加员主

16、要教育与工作经历信息,包括开始日期、截止日期、学校或单位、修改员主要学习与工作经历佶息;删除员主要学习与工作经历信息;查看员主要学习与工作经历信息。6.员考勤管理 添加员考勤信息,包括考勤月份、病假天数、事假天数、旷天数等信息;修改员考勤信息;删除员考勤信息;查询员考勤信息;月度考勤统计表。7.员工作考评管理功能添加员作考评信息,包括考评月份、奖励事由、奖励金额、处罚事由、处罚 金额和总体评价等信息;修改员工作考评信息;-6-删除员工作考评信息;查看员工作考评信息。1.2 功能模块划分由以上介绍的功能,可以设计出系统的总体功能模块,如图1所示。切合人事管理系统图人力资源管理系统功能模块示意图可

17、以看到,本系统划分为3个功能模块,基本信息管理模块用于管理部门及员 的基本信息,考勤考评管理模块用于按部门和时间对员进行考勤和考评记录,系统 用户管理模块用于管理系统用户信息。1.3 系统流程分析所谓系统流程就是川户在使川系统时的工程过程。对多类型用户的管理系统来 说,每类用户的工作流程都是不同的。多用户系统的工作流程从用户登录模块开始,对用户的身份进行认证。身份认证可以分为以下两个过程:(1)确认用户是否是有效的系统用户2)确定用户的类型。第1个过程决定用户能否进入系统。第2个过程根据用户的类型决定用户的操作 权限而决定用户的工作界面。在系统的工作流程中,还将体现各个功能模块之间的依存关系。

18、例如,必须在部 门管理模块中添加至少个部门信息,才能添加员的基本信息,必须有一条员的 基本的信息,才能添加照片、员工主要家庭成员、员教育与工作经历、考勤记录、考评记录以及用户管理等。系统的流程分析如图2所示。利用MFC开发综合人事管理系统图1-2系统流程-8-第2章数据库设计2.!创建数据库在创建数据库表结构之前,首先要创建一个数据库。本系统使用的数据库为 HrSySo读者可以在企业管理器中创建数据库,也可以在查询分析器中执行以下 Transact_SQL 句。USE masterGOCREATE DATABASE HrSysGO2.2设计表结构数据库HrSys包含以下7个表:部门表depar

19、tments、员基本信息表employees、员主要成员记录表family、员教育及工作经历表experience员考勤表 checkin、员工作考评表evaluation和用户信息表userso下面分别介绍这些表的结构。1.部 门 表 department s部门表departments用来保存企业部门的信息。本系统采用树状结构来管理部门 数据,也就是在部门之间建立从属关系。结构如下表2T:表2-1编号字段名称数据结构说明1Dep_idint部门编号2Dep_namevarchar(40)部门名称3Describevarchar(400)部门职能描述4upperidInt上级部门编号2.员基

20、本信息表employees员基本信息表employees用来保存企业员的基本信息。employees的结构如 下表1-2:编号字段名称数据结构说明1Emp_idint员编号2Emp_nameVarchar(50)姓名3PhotoImage照片4SexChar2性别5Nationalityvarchar(40)名族6Birthvarchar(20)生巳7Political_partyvarchar(40)政治面貌8Culture_levelvarchar(40)文化程度9Marital_conditionvarchar(20)婚姻状况10Family_placevarchar(60)籍贯11Id

21、_cardvarchar(20)身份证号12Badgeidvarchar(40)工作证号13Office_phonevarchar(30)办公电话利用MFC开发综合人事管理系统表2-214Mobilevarchar(30)手机号码15Files_keep_orgvarchar(100)档案存放地16hukouvarchar(100)户所在地17hiredatevarchar(20)到岗巳期编号字段名称数据结构说明18Dep_idint所在部门编号19positionvarchar(40)工作岗位20Titlevarchar(20)职务21State员状态22Upperid上级员编号23Cont

22、ract_durationvarchar(20)合同有效期24memovarchar(200)备注25Fillin_personvarchar(30)填表用户26Fillin_timevarchar(20)填表巳期和时间3.员家庭主要成员记录表family员家庭主要成员记录表family用来保存员家庭主要成员的基本信息。的结 构如下表2-3:编号字段名称数据结构说明1Idtinyint编号2Emp_idint员编号3NameVarchar(50)姓名4SexChar2性别5AgeTinyint年龄6Relationshipvarchar(20)与本人关系7Workingorgvarchar(4

23、0)工作单位表2-34.员教育及工作经历记录表experience员教育工作者及工作经历记录表experience用来保存员经历的基本信息。结构如下表2-4:编号子段名称数据结构说明1Idtingint编号2Emp_idint员编号3Start_datechar(10)开始巳期4End_datechar(10)终止巳期5Shool_orgvarchar(50)学校/单位名称6Titlevarchar(20)职务表2-45.员考勤表checkin员考勤表checkin用来保存员考勤的基本信息。结构如下表2-5:编号字段名称数据结构说明1checkdatechar(10)考勤月份-10-表2-52

24、Emp_idInt员编号3Qqdaysdecimal(4,1)全勤大数4Ccdaysdecimal(4,1)出差天数5Bjdaysdecimal(4,1)病假大数6sjdaysdecimal(4,1)事假大数编号字段名称数据结构说明7Kgdaysdecimal(4,1)旷工大数8fdxjdaysdecimal(4,1)法定休假大数9Nxjdaysdecimal(4,1)年休假大数10Dxjdaysdecimal(4,1)倒休假大数11Cdminutestinyint迟到时间(分钟)12Ztminutestinyint早退时间(分钟)13Otldaysdecimal(4,1)类加班大数(法 定节

25、假日加班)140t2daysdecimal(4,1)二类加班天数(周 六或周日加班)150t3daysdecimal(4,1)三类加班大数(日 常加班)16Memovarchar(200)备注信息6.员作考评表evaluation员工作考评表evaluation用来保存员工作考评信息。结构如下表2-6:编号字段名称数据结构说明1Evamothchar(10)考评月份2Emp_idint员编号3Ztevavarchar(200)总体评价4Jlreasonvarchar(200)奖励事由5JIamountSmallint奖励金额6Cfreasonvarchar(200)处罚事由7CfamountS

26、mallint处罚金额8memovarchar(200)备注信息表2-6用户信息表user用来保存系统用户信息。结构如下表2-7:7.用户信息表users编号字段名称数据结构说明Usernamevarchar(40)用户名Pwdvarchar(40)密码User_typetinyint用户类型(1一系 统管理员川户,2 普通川户)表2-7利用MFC开发综合人事管理系统第3章设计工程框架3.1 创建工程并设置主界面创建一个基于对话框的工程,工程名为Hrsys,默认的主对话框为:DD_HRSYS_DIALOGo设置主界面对话框的属性如下表3-1:属性设置值具体说明Caption综合人事管理系统对话

27、框的标题条文本Minimize Box选中激活最小化按纽表31分别将ADO Data控件、DataGrid控件、DataCombo控件、DataList控件添加到 工程中。在工程中添加类ADOConn,注意在ADOConn.cpp中将连接字符串中“Database=HrMan”该为“Database=Hrsys”。在类 CdataGrid 中添加成员函数 Getltem,用于从DataGrid表格中读取数据。制作一个背景图片(要求bmp格式)本例中为hr.bmp,读者可以使用Photoshop 等工具制作适合自己的图片。单击“Resource View”选项卡,右键单击“Hrsys Resou

28、rce 选择“Import”菜单项,打开“Import Resource”窗,选择 hr.bmp,将其添加到工程中。新添加的Bitmap资源值为IDB-BITMAP1.拉动对话框IDD_HRSYS_DIALOG的边框,将其调整到适当大小。在对话框中添加 个picture控件,右键单击picture控件,选择properties菜单项,打开属性窗 口。在“type”组合框中选择bitmap,在“image”组合框中选择IDB BITMAP1,下面设置主菜单面中的菜单。单击“Resource View”选项卡,右键单击“Hrsys Resource”。选择“Insert”菜单项,打开“Insert

29、 Resource”窗口。选择“Menu”,然后单击“new”,在Hrsys Resource目录下新增了一个Menu目 录项,菜单ID为!DR-MENUlo双击此菜单,双击此采单,设置菜单项的属性如下表3-2:标题ID属性基本信息管理部门管理IDR_DEP员管理IDR_EMP退出系统IDR_EXIT考勤考评管理考勤管理IDR_CHECK考评管理IDR_EVA系统川户管理用户管理IDR_USERMAN修改密码IDR_PWDMAN表3-2打开对话框IDD_HRSYS_DIALOG的属性窗口,在Menu组合框中选择IDR-MENU1O 单击工具栏中的“运行”按钮,就可以看到系统的主界面如下图3-1

30、所示。-12-图3-1系统主界面打开ClassWizard窗,为菜单项IDR_EXIT添加代码,对应的函数ChrSysDlg:OnExit()为,代码如下:void CHrSysDlg:0nExit()/TODO:Add your command handler code hereOnOKQ;)程序调用OnOK()函数关闭对话框,退出系统。3.2 为表添加类本实例中为数据库的每个表都创建一个类,类的成员变量对应表的列,类的成员 函数是对成员变量和表的操作。在系统菜单中选择Insert/New Class窗口,选择“Generic Class,然后输入类名为大写字母C加上表名。在通常情况下,类的

31、成员变量与对应的表中的列名相同。绝大多数成员函数的编 码格式都是相似的,在此并不对所有的成员函数进行分析,只介绍每个类中成员函数 的基本功能。1.CDepartments 类CDepartments类用来管理departments的数据库操作,它的成员函数如下表3-3:成员函数声明具体说明CDepartments()初始化成员変量GetData(CString cDepId)读取指定的部门记录。参数cDepId表示要读取部门 的编号Int GetDep_id()返冋成员变量Dep_id()的值Cstring返冋成员变量Dep_name()的值利用MFC开发综合人事管理系统表33GetDep_n

32、ame()CstringGetDescribe()返冋成员变量Describe()的值Int GetUpperldO返冋成员变量UpperldO的值Int HaveEmp(CString cDep_id)判断指定部门中是否存在员。参数cDep_id表示指 定的部门编号。如果返冋L则表示部门中存在员;返回1,表示部门中没有员。此函数将在删除部门 数据之前调川,如果返冋1,则不能删除指定的部门Int HaveName(CString cDep_Name)判断指定的部门名称是否已经在数据库中,参数 cDep_Name表示指定的部门名称。返冋T表示不存在,返冋1表示存在Int HaveSon(CStr

33、ing cDep_id)判断指定部门中是否存在下级部门。参数cDep_id表 示指定的部门编号。返冋T表示不存在,返冋1表示 存在。此函数将在删除部门数据之前调用,如果返冋 1,则不能删除指定的部门Void Load_dep()根据指定的上级部门编号,读取所有下级部门信息 到两个CstringArray变量中。此函数在把部门装入到树状结 构的过程中将起重要作用Void SetDep_id(intiDep_id)设置成员变量Dep_id的值,参数iDep_id为要设置 的值VoidSetDep_name(CString cDep_name)设置成员变量Dep_name的值,参数cDep_name

34、为要 设置的值VoidSetDescribe(CString cDescribe)设置成员变量Describee的值,参数cDescribe为要 设置的值Void SetUpperld(int iUpperld)设置成员变量Upperld的值,参数iUpperld为要设 置的值sql_delete(CString cDepId)删除指定的部门记录。参数Depld表示要删除的部门 编号Long sql_insert()插入新的Voidsql_update(CString cDepId)修改指定的部门记录。参数Depld表示要修改的部门 编号Load_dep()函数的代码如下:void CDepa

35、rtments:Load_dep()/连接数据库ADOConn m_AdoConn;m_AdoConn.OnlnitADOConn();设置SELECT语句-14-_bstr_t vSQL;vSQL=SELECT*FROM Departments ORDER BY Upperld;执行SELETE语句_RecordsetPtr m_pRecordset;m_pRecordset=m_AdoConn.GetRecordSet(vSQL);/初始化数组a_DepName.RemoveAll();a_DepId.RemoveAll();a_Upper!d.RemoveAll();执行SELECT语句

36、while(m_pRecordset-adoEOF=0)a_Dep!d.Add(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(/zDep_Id/z);a_DepName.Add(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(zzDep_Namezz)7a_Upper!d.Add(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(zzUpperIdzz);m_pRecordset-MoveNext();)断开与数据库的连接m_AdoConn.ExitConnect();)这是个批量读取表Dep

37、artments中数据的过程,读取数据的条件是指定的 上级部门编号,程序将部门数据读取到2个CstringArray数组对象中。即a_DepId.和a_DepName,他们被定义为类Cdepartments的成员变量。CstringArra对象是 支持Cstring对象的数组,它包含在afxcoll.h中。sql_insert()函数的代码如下:long CDepartments:sql_insert()连接数据库ADOConn m_AdoConn;m_AdoConn.OnlnitADOConnO;设置INSERT语句CString strllpperld;strUpperld.Format(

38、%d,Upperld);_bstr_t vSQL;vSQL=INSERT INTO Departments(Dep_name,Describe,Upperld)利用MFC开发综合人事管理系统VALUES(+Dep_name+,+Describe+,“+strUpperld+);执行:NSERT语句m_AdoConn.ExecuteSQL(vSQL);读取最大编号long IDepId;vSQL=SELECT MAX(Dep_id)AS Maxld FROM Departments;执行SELETE语句_RecordsetPtr m_pRecordset;m_pRecordset=m_AdoCo

39、nn.GetRecordSet(vSQL);“返冋各列的值if(m_pRecordset-adoEOF)IDepId=0;elseIDepId=atol(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(Maxld);断开与数据库的逹接m_AdoConn.ExitConnect();return IDepId;)程序首先将新记录插入到表Departments中,然后使用SELECT语句返冋表中最 大的Depld字段值,并以此作为新记录的编号值返冋。在添加部门记录时,程序需要 得到新的记录的部门编号值,并将其添加到Tree控件中。2.Cemployees 类Cem

40、ployees类用来管理表employees的数据库操作,其中又由成员函数组成。下面对几个成员函数进行说明。HaveName 函数HaveName()函数的代码如下:int CEmployees:HaveName(CString cEmp_Name)连接数据库ADOConn m_AdoConn;m_AdoConn.OnlnitADOConn();设置SELECT语句_bstr_t vSQL;vSQL=SELECT*FROM Employees WHERE Emp_name=,+cEmp_Name+;执行SELECT语句_RecordsetPtr m_pRecordset;m_pRecordse

41、t=m_AdoConn.GetRecordSet(vSQL);if(m_pRecordset-adoEOF)return T;-16-elsereturn 1;断开与数据库的连接m_AdoConn.ExitConnect();此类函数也是很多类都需要的,因为表中有些列值是惟的,不允许出现重复 值,所以在插入和修改数据时,需要调用HaveName 函数判断是否存在同名的 记录。sql_delete 函数sql_delete()函数的代码如下:void CEmployees:sql_delete(CString cEmp_Id)连接数据库ADOConn m_AdoConn;m_AdoConn.On

42、lnitADOConn();设置DELETE语句_bstr_t vSQL;vSQL=DELETE FROM Employees WHERE Emp_id=+cEmp_Id;执行DELETE语句m_AdoConn.ExecuteSQL(vSQL);断开与数据库的连接m_AdoConn.ExitConnect();删除表Family中的相关员记录CFamily fam;fam.sql_deleteByEmp(cEmp_Id);删除表Experience中的相关员记录CExperience exp;exp.sql_deleteByEmp(cEmp_Id);刪除装Checkin中的相关员记录CChec

43、kin check;check.sql_deleteByEmp(cEmp_Id);删除表Evaluation中的相关员记录CEvaluation eva;eva.sql_deleteByEmp(cEmp_Id);4.Cfamily类:Cfamily类用来管理表Family的数据库操作。Ccheckin类:Ccheckin 类用来管理表checkin的数据库操作。Cevaluation类和Cusers类分别用来管理表 evaluation和users的数据库操作。3.3设计登录模块用户要使用本系统,首先必须通过系统的身份认证,这个过程叫做登录。当前用 户的数据应该是全局有效的,在工程的任何位置都

44、可以访问它。添加一个类Cghbal 用于保全全局边变量。在Global,h和Global,cpp中添加如下代码:#include“users,h”Cusers curUser利用MFC开发综合人事管理系统在StdAfx.h中添加如下代码:include“Global,h”因为StdAfx.h默认包含在很多程序中,这样在这些程序中就可以直接访问curUser对象了。在访问之前,还需要添加如下命令引入外部变量。Extern CUsers curUser;添加一个对话框,请参照下面对话框的属性表3-4。属性设置值具体说明IDIDD_LOGIN_DIALOG对话框的ID值Caption登录对话框对话框

45、的标题条文本Font name宋体设置对话框中的字体Font size9设置对话框中的字号表3-4添加控件如图3-2所示:X图3-2登陆对话框输入用户名的编辑框为!DC_USERNAME_EDIT,输入密码的编辑框为 IDC_PWD_EDITo在属性窗口中,选中编辑框IDC_PWD_EDIT的Password属性,这样用 户在输入数据时编辑框中只显示打开Class Wizard窗口,为对话框IDD_LOGIN_DIALOG创建一个类,类名为 CLoginDlg,单击“Member Variables”选项卡,为编辑框 IDC_USERNAME_EDIT 指定 成员变量m_UserName,为编

46、辑框IDC_PWD_EDIT指定成员变量m_Pwd,他们的数据类 型都是Cstringo当用户单击“确定”按钮时,将发送BN_CLICKED消息,在Class Wizard窗口中 为其添加函数,将其代码添加到CloginDlg:OnOK()中。为了在LoginDlg.cpp中使用CUsers对象,需要在程序开始部分添加如下代码:include Users,h下面在主对话框中添加代码,使对话框在启动时首先打开登录对话框。在Class Wizard窗口中添加CHrSysDlg:OnInitDialog()函数,并在其中添加如下代码:CLoginDlg dig;if(dig.DoModalO!=ID

47、OK)OnOK();else读取用户信息到curUser对象中curUser.GetData(dlg.m_UserName);程序将打开登录对话框,如果用户不是通过单击“确定”按钮关闭登录对话框,则调用OnOKO函数关闭主对话框。-18-第4章部门管理模块设计部门管理模块可以实现以下功能:系统管理员用户可以添加部门记录、修改部门记录、删除部门记录和查看部 门记录;普通用户只能查看部门数据。4.1 设计部门信息编辑对话框部门信息编辑对话框可以川来添加和修改部门信息。创建一个新对话框,对话框ID 属性为 IDD_DEPEDIT_DIALOG.对话框IDD_DEPEDIT_DIALOG包含的主要控件

48、及其属性如下表4-1:表4-1控件类型属性属性值Static textidIdc_upper_staticEdit boxIdIdc_depname_editEdit boxIDIDC_DESCRIBE_RICHEDIT(而来编辑部门的功能描述)Multiline选中(多行输入)AUTO VSCROLL自动添加垂直滚动条ButtonIDID0KCaption确定ButtonIDIDCANCELCaption取消其对话框布局如下图4-1所示:图4-1编辑部门信息打开 Class Wizard 窗口,为对话框 IDD_DEPEDIT_DIALOG 创建类 CDepEditDlgo单击Member

49、Variables选项卡。设置成员变量如下表4-2:控件ID类型成员变量名IDC_DEPNAME_EDITCStringM_depnameIDC_DESCRIBE_RICHEDITCStringM_describeIDC_UPPER_STATICCStringM_upper表4-2利用MFC开发综合人事管理系统为了便于交换数据,在DepEditDlg.h中定义3个公共变量,代码如下:public:int Upperld;用于保存上级部门编号int Depld;/用于保存当前编辑记录的部门编号CString DepName;用于保存当前编辑记录的部门名称在打开对话框之前或者关闭对话框之后,用户可

50、以通过设置和读取这3个变量与 对话框交换数据。用户单击“确定”按钮时,对应的函数为,在CDepEditDlg:OnOK()中加入对应 的代码可以实现其功能。程序将根据公共变量Depld的值决定插入数据还是修改数据。当Depld等于0 时,将插入记录;否则将修改编号为Depld的记录。在打开对话框之前,应该设置变 量 Depld、Upperld、DepName 的值。4.2 设计部门信息管理对话框创建一个新对话框,对话框的名称设置为!DD_DEPMAN_DIALOGo因为本系统使用 树状结构来描述部门数据,所以要使用到tree控柞。tree是控件显示node对象的 分层列表,每个node对象均由

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服