04用VC制作一个工资管理系统_第1页
04用VC制作一个工资管理系统_第2页
04用VC制作一个工资管理系统_第3页
04用VC制作一个工资管理系统_第4页
04用VC制作一个工资管理系统_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、案例四用VC+制作一个工资管理系统关键词:VVC+数据库库数据表表控件绑绑定统计计计算4.1 课程设设计的目目的和意意义工资管理是是任何企企事业单单位都需需要进行行的一项项工作,因因此,开开发制作作工资管管理系统统具有较较大的社社会现实实意义,同同时工资资管理系系统的最最大特征征是数据据处理,它它是数据据库应用用系统的的典范,它它具有一一切数据据库应用用系统的的特征,如如数据录录入,数数据统计计和数据据报表等等,其系系统结构构与现实实生活紧紧密结合合,具体体直观。工工资管理理系统也也是数据据库应用用开发中中经常进进行例证证的好例例子,它它的开发发应用简简单而又又不失一一般性。作为一个案案例,我

2、我们仍需需要重复复进行一一些过程程,如创创建工程程框架,引引入数据据源,建建立消息息映射,最最终实现现统计计计算。本程序比较较简单,我我们的目目的是让让读者对对VC的编编程逐步步加以理理解,它它的意义义是非常常重要的的。4.2 系统功功能设计计在本系统的的设计中中,将主主要实现现如下的的一些功功能:增增加记录录功能、修修改记录录功能、删删除记录录功能、刷刷新记录录功能,最最后实现现统计计计算功能能。4.3 数据库库与数据据表的设设计作为工资资管理系系统,它它是数据据库应用用系统数数据处理理的典范范,数据据库应用用系统开开发的前前提是首首先开发发数据库库和数据据库中的的数据表表。因此此在本案案例

3、中,我我们仍采采用Miicroosofft AAcceess 20003创建建数据库库和数据据表。为为此我们们先定义义一个“职工工工资数据据表”的结构构,如表表4.11所示。表4.1 “职工工工资数据据表”结构字段名称称字段类型字段大小小数位数索引必须填写年份数字整型是月份数字整型是输入日期日期/时间间默认是职工编号数字整型是姓名文本16是部门文本20是基本工资数字长整型自动是业绩工资数字长整型自动是奖金数字长整型自动是津贴数字长整型自动是各种补助数字长整型自动是应发数数字长整型自动是水电费数字长整型自动是房租数字长整型自动是储蓄数字长整型自动是会费数字长整型自动是保险数字长整型自动是扣除总计

4、数字长整型自动是实发工资数字长整型自动是创建数据库库及其数数据表的的步骤如如上:(1)启动动Miccrossoftt Offficce 220033中的Miicroosofft AAcceess应应用程序序,出现现图4.1所示示界面,通通过该界界面可以以创建一一个新的的数据库库或打开开一个已已经存在在的数据据库。图4.1 新建建数据库库选择(2)选择择创建新新数据库库,即选选择“空Acccesss数据库库”选项。(3)单击击“确定”按钮之之后出现现保存对对话框,确确定保存存数据库库的文件件位置(D: VC+写作案例CH4)并给定数据库名称:工资管理数据库;然后出现图4.2所示界面。图4.2 数

5、据据库中的的数据表表设计界界面在数据库设设计界面面中,用用户可以以打开已已经存在在的数据据表,也也可以创创建新的的数据表表。(4)单击击“设计”菜单,即即出现一一个数据据表设计计器,用用户可以以在其中中设计一一个新的的数据表表结构,如如图4.3所示示。图4.3 数据据表设计计器在Micrrosooft Acccesss 20003数数据库设设计器中中,用户户可以定定义数据据表的字字段名称称、字段段类型、字字段大小小等数据据表结构构的内容容。数据据表结构构一经确确定,用用户可以以打开该该数据表表,在数数据表中中输入一一些基本本数据,以以在后面面的系统统设计中中体现设设计的效效果。最后,系统统自动

6、将将创建的的数据表表保存在在“D:VCC+写写作案例例CHH4332资管管理数据据库”中,将将创建的的数据表表命名为为“职工工工资数据据表”。注意,在微微软的MMicrrosooft Acccesss各版本本之间,如如在Miicroosofft AAcceess 98与与Miccrossoftt Acccesss 220033中,采采用旧版版本创建建的数据据库及其其数据库库中的数数据表如如要在新新的版本本中运用用,往往往需要在在新版本本中进行行转换才才行。4.4 创建工工资管理理系统基基本框架架在前面我们们已经创创建了“工资管管理数据据库”、“职工工工资数据据表”。它可可为应用用程序提提供一个

7、个数据源源。应用用程序就就是对该该数据源源的记录录进行访访问、增增加、删删除以及及数据管管理的一一切操作作。有了了这一切切的工作作,用户户就可以以着手进进行应用用系统的的构建了了。与前面的案案例一样样,在VVC+应用系系统创建建中,需需要通过过向导先先创建一一个应用用程序框框架,然然后再加加入数据据控件,与与数据源源进行绑绑定,并并进行程程序的修修改与加加工制作作。创建建“工资管管理系统统”应用程程序框架架的步骤骤如下:(1)结束束数据库库的创建建并启动动VC+,出出现VCC+主主控界面面。(2)在VVC+主控界界面中单单击“文件|新建”菜单项项,出现现新建工工程类型型选择对对话框,在在工程类

8、类型列表表中选择择MFCC ApppWiizarrd(EEXE)工程类类型。(3)输入入工程名名称为“工资管管理系统统”,并选选择Wiin322平台类类型。(4)单击击“确定”按钮,进进入文档档类型设设置。(5)选择择单文档档类型,即即创建一一个单文文档界面面的应用用程序,设设置资源源使用语语言为中中文,选选择文档档查看看体系结结构支持持。(6)单击击“下一步步”按钮,进进入框架架设置的的第2步,出出现图44.4所所示对话话框。在在该对话话框中,需需要用户户对数据据库的类类型作一一些相关关的选择择。图4.4 程序序框架设设置的第第2步(7)选择择“查看数数据库不不使用文文件支持持”;这时时候D

9、aata Souurcee按钮处处于可用用状态(或或激活状状态);在这一一种选择择下,VVC+将将为应用用系统引引入数据据环境,即即数据源源,该数数据源就就是我们们在前面面创建的的“工资数数据库”,而不不使用其其他类型型数据的的文件支支持。但但数据源源在系统统制作中中的引入入需要用用一定的的驱动程程序为之之进行。(8)单击击“Datta SSourrce”按钮,出出现图44.5所所示的选选择数据据源类型型的对话话框。图4.5 数据据源创建建类型注意,在OODBCC数据源源文件列列表中,我我们已经经创建了了一个OODBCC数据源源文件,因因此可以以在其中中直接选选择引用用即可。如如果没有有“工资

10、管管理数据据库”这样的的文件,则则往往需需要用操操作系统统控制面面板中的的ODBBC程序序加以创创建,其其方法参参考案例例一。(9)单击击OK按钮钮,出现现数据源源中的数数据表,即即工资数数据库中中的数据据表。选选择“职工工工资数据据表”,如图图4.66所示。图4.6 选择择职工工工资数据据表(10)单单击OKK按钮选选定该数数据表。然然后返回回到图44.4所所示对话话框,完完成数据据源的创创建工作作。(11)在在图4.4所示示对话框框中单击击“完成”按钮,即即完成应应用程序序框架的的生成工工作,出出现工程程框架创创建的全全部信息息,该信信息将提提示用户户所创建建的应用用程序框框架包括括的内容

11、容,如:应用系系统名称称、界面面类型、适适合的操操作系统统、类文文档的创创建和系系统特色色等,如如下所示示:Appliicattionn tyype of 工资管管理系统统: SSinggle Doccumeent Intterffacee Apppliicattionn taargeetinng:Win 332Classses to be creeateed:Appliicattionn: CCMyAApp in 工资管管理系统统.h andd 工资资管理系系统.ccppFramee: CCMaiinFrramee inn MaainFFrm.h aand MaiinFrrm.ccppDoc

12、ummentt: CCMyDDoc in 工资管管理系统统Docc.h andd 工资资管理系系统Dooc. CpppRecorrdViiew : CCMyVVieww inn 工资资管理系系统Viiew. h andd 工资资管理系系统Viiew. cpppRecorrdseet: CMyysett. iin 工工资管理理系统SSet.h aand 工资管管理系统统Sett.cppp(connnectted to tabble 职职工工资资数据表表 in datta ssourrce 工资资管理数数据库)Featuuress:+ Iniitiaal ttoollbarr inn maain

13、fraame+ Iniitiaal sstattus barr inn maain fraame+ Friintiing andd Prrintt Prreviiew suppporrt iin vvieww+ 3D Conntrools+ Usees ssharred DLLL immpleemenntattionn (MMFC442.DDLL)+ Dattabaase suppporrt, witthouut ffilee suuppoort+ ActtiveeX CConttrolls ssuppportt ennablled+ Loccaliizabble texxt iin:中文中国

14、国确认创建信信息之后后,出现现应用程程序框架架界面,如如图4.7所示示。图4.7 应用用程序框框架界面面4.5 开发工工资处理理界面如前所述,应应用系统统向导只只能生成成一个应应用程序序基本框框架,该该框架还还不具备备任何功功能,我我们需要要在框架架的基础础上进行行系统各各种功能能的制作作。通常常一个应应用程序序框架生生成两个个对话框框,一个个是IDDD_AABOUUTBOOX对话话框,它它是一个个说明该该系统的的对话框框,几乎乎由向导导自动完完成,如如图4.8所示示。图4.8 ABBOUTTBOXX对话框框该对话框仍仍然是基基本的,如如果用户户需要修修饰或修修改,可可以根据据自己的的需要进进

15、行。在基本框架架中另外外一个对对话框就就是主对对话框IIDD_MY_FORRM,它它是我们们加工制制作的主主要内容容,数据据源也是是专门为为该对话话框引入入的。4.5.11 主对对话框IIDD_MY_FORRM中控控件的加加入与布布局在工资管理理系统中中,主对对话框主主要用于于处理工工资管理理的一切切内容。制制作该对对话框的的主要步步骤如下下:(1)在主主对话框框IDDD_MYY_FOORM中中将提示示文本框框“TODDO:在在这个对对话框里里设置表表格控制制。”删除。(2)在主主对话框框IDDD_MYY_FOORM中中放入各各种需要要的控件件,如标标签控件件、编辑辑框控件件、命令令按钮控控件

16、,其其对话框框布局如如图4.9所示示。图4.9 主对对话框IIDD_MY_FORRM控件件布局其中,各个个控件的的属性设设置如表表4.22-表4.55所示。表4.2 标签对对象的基基本属性性ID标题内容IDC_SSTATTICCCAPTTIONN职工工资管管理系统统IDC_SSTATTICNNE年份IDC_SSTATTICYYF月份IDC_SSTATTICZZGBHH职工编号IDC_SSTATTICZZGXMM职工姓名IDC_SSTATTICZZGBMM部门IDC_SSTATTICJJBGZZ基本工资IDC_SSTATTICJJJ奖金IDC_SSTATTICYYJGZZ业绩工资IDC_SSTA

17、TTICJJT津贴IDC_SSTATTICGGZBZZ各种补助IDC_SSTATTICRRDF水电费IDC_SSTATTICFFZOUU房租IDC_SSTATTICCCX储蓄IDC_SSTATTICHHF会费IDC_SSTATTICBBX保险IDC_SSTATTICYYFHJJ应发合计IDC_SSTATTICKKCHJJ扣除合计IDC_SSTATTICSSFGZZ实发工资表4.3 编辑辑框控件件的基本本属性和和编辑内内容ID编辑内容IDC_EEDITTNF年份IDC_EEDITTYF月份IDC_EEDITTZGBBH职工编号IDC_EEDITTZGBBM所在部门IDC_EEDITTZGXXM职

18、工姓名IDC_EEDITTJBGGZ基本工资IDC_EEDITTJJ奖金IDC_EEDITTYJGGZ业绩工资IDC_EEDITTJT津贴IDC_EEDITTGZBBZ各种补助IDC_EEDITTRDFF水电费IDC_EEDITTFZOOU房租IDC_EEDITTCX储蓄IDC_EEDITTHF会费IDC_EEDITTBX保险IDC_EEDITTYFHHJ应发合计IDC_EEDITTKCHHJ扣除合计IDC_EEDITTSFGGZ实发工资表4.4 命令令按钮对对象的基基本属性性ID标题内容IDC_BBUTIIONFFIRSST|-第一一条IDC_BBUTIIONNNEXTT-下一条条IDC_B

19、BUTIIONPPREVV-前一条条IDC_BBUTIIONLLASTT-|最后后一条IDC_BBUTIIONSSUM执行统计IDC_RRADIIOADDD增加记录IDC_RRADIIODEELETTE删除记录IDC_RRADIIOUPPDATTE刷新记录表4.5 分组组控件对对象的基基本属性性ID标题IDC_SSTATTICDDATAA工资数据处处理IDC_SSTATTICBBROWWSE工资数据浏浏览IDC_SSTATTICAADDDDELEETUPPD增加与删除除IDC_SSTATTICCCOUNNT个人工资统统计4.5.22 为为编辑框框控件建建立数据据字段映映射在对话框中中的一切切编

20、辑框框控件,均均是用于于进行数数据处理理和数据据显示的的,但首首先我们们应该为为它们建建立字段段映射,即即将创建建的数据据集中的的每一个个字段与与一个编编辑框进进行数据绑绑定”。其方方法我们们在前面面的案例例中已经经有所涉涉及。我我们以其其中的一一个编辑辑框,即即“年份”编辑框框为例,说说明为编编辑框与与数据集集中的字字段建立立映射关关系的方方法。为为此进行行如下操操作:(1)在主主对话框框IDDD_MYY FOORM中中选取“年份”编辑框框控件。(2)用鼠鼠标右键键单击该该对话框框,出现现一个快快捷菜单单。(3)在快快捷菜单单中单击击“建立类类向导”,出现现类向导导对话框框。(4)在类类向导

21、对对话框中中将页面面切换至至Memmberr Vaariaablees页面面并设置置类名为为CmyySett。该对话框列列出了数数据集的的全部字字段名、字字段类型型和字段段的成员员变量名名称,但但成员变变量名是是在创建建数据源源时自动动生成的的,往往往不便于于与编辑辑框建立立映射关关系,为为此将全全部成员员变量名名称删除除,并重重新定义义字段的的成员变变量名称称。重新新定义后后的字段段变量名名称如图图4.110所示示。图4.100 重重新定义义的字段段变量名名称(5)在CClasssnaame列列表中选选择CmmyViiew,出出现为编编辑框控控件与字字段成员员变量建建立消息息映射的的页面,如

22、如图4.11所所示。图4.1ll 编编辑框控控件与字字段变量量映射页页面(6)选中中IDCC_EDDITNNF(年年份编辑辑)控件资资源索引引,再单单击Addd VVariiablle按钮钮,出现现变量选选择列表表框。在在字段选选择列表表框中选选择“年份”成员变变量,如如图4.12所所示。图4.122 字字段成员员变量列列表(7)单击击OK按钮钮,即完完成“年份”编辑框框与“年份”字段成成员变量量的映射射。采用相同的的方法为为全部编编辑框控控件建立立消息映映射,然然后编译译对话框框,则发发现可以以在编辑辑框中修修改数据据表中的的记录。4.5.33 为命命令按钮钮增加函函数并编编制过程程代码事实

23、上,在在前面我我们已经经在编辑辑框与数数据集之之间建立立了一种种映射关关系,但但处理数数据的功功能还不不是很完完善。为为此我们们需要用用一些命命令来完完成对数数据的操操作,需需要为命命令按钮钮建立函函数和编编制过程程代码。同同样,在在对话框框中存在在多个命命令按钮钮,我们们以“第一条条记录”命令按按钮为例例来说明明建立函函数与编编制过程程的方法法。1.“第一一条记录录”命令按按钮的过过程代码码(1)在对对话框中中选取“第一条条记录”命令按按钮。(2)用鼠鼠标右键键单击该该命令按按钮,出出现一个个快捷菜菜单。(3)在快快捷菜单单中单击击“建立类类向导”菜单项项,出现现一个消消息映射射的对话话框。

24、(4)在消消息映射射的对话话框中选选择Meessaage Mapps页面面,选择择消息类类型为“ON_CLIICKEED”并单击击Addd Fuuncttionn按钮,出出现一个个函数命命令对话话框,建建议接受受系统命命名的函函数名即即可。(5)确认认函数名名后单击击Ediit CCodee按钮,出出现代码码编辑框框,在代代码编辑辑框中编编辑命令令按钮的的代码,如如下所示示:void CMyyVieew : : OnBButttonffirsst ()/ / TTODOO: AAdd youur cconttroll nootifficaatioon hhanddlerr coode herr

25、em_pSeet - MovveFiirstt ();if (mm_pSSet - IssBOFF()MessaageBBox (“记记录已经经在第一一条!”)m_pSeet - MovveNeext ();UpdatteDaata (FAALSEE);Returrn;UpdatteDaata (FAALSEE);这样,“第第一条记记录”命令按按钮的过过程代码码就编辑辑完成了了。采用同样的的方法,我我们可以以编辑其其他命令令按钮的的过程代代码。2“下一一条记录录”命令按按钮的过过程代码码void CMyyVieew : : OnBButttonnnextt ()/ / TTODOO: AAdd

26、 youur cconttroll nootifficaatioon hhanddlerr odde hhereem_pSeet - MovveNeext();if (mm_pSSet - IssEOFF () MessaageBBox (“记记录已经经在最后后一条!”);m_pSeet - MovvePrrev ();UpdatteDaata (FAALSEE);Returrn;UpdatteDaata (FAALSEE);3“前一一条记录录”命令按按钮的过过程代码码void CMyyVieew : : OnBButttonpprevv ()/ / TTODOO: AAdd youur cc

27、onttroll nootifficaatioon hhanddlerr coode herrem_pSeet - MMoveePreev ();if (mm_pSSet - IsBBOF() MessaageBBox (“记记录已经经在第一一条!”);m_pSeet - MMoveeNexxt ();UpdatteDaata (FAALSEE);returrn;UpdatteDaata (FAALSEE);4“最后后一条记记录”命令按按钮的过过程代码码void CMyyVieew : : OnBButttonllastt ()/ / TTODOO: AAdd youur cconttroll

28、 nootifficaatioon hhanddlerr coode herrem_pSeet - MMoveeLasst ();if (mm_pSSet - IsEEOF ()MessaageBBox (“记记录已经经在最后后一条!”);m_pSeet - MMoveePreev ();UpdatteDaata (FAALSEE);Returrn;UpdatteDaata (FAALSEE);5“增加加记录”选项按按钮的过过程代码码void CMyyVieew : : OnRRadiioddd ()/TODDO: Addd yoour conntrool nnotiificcatiion h

29、anndleer ccodee heerem_pSeet - AAddNNew ();UpdatteDaata (FAALSEE);6“删除除记录”选项按按钮的过过程代码码void CMyyVieew : : OnRRadiiodeelette ()/TODDO: Addd yoour conntrool nnotiificcatiion hanndleer ccodee heerem_pSeet - DDeleete ();m_pSeet - MMoveeNexxt ();if (mm_pSSet - IsEEOF () mm_pSSet - MMoveeLasst ();if (mm_pS

30、Set - IsBBOf() mm_pSSet - SeetFiielddNulll (NULLL);UpdatteDaata (FAALSEE);7“刷新新记录”选项按按钮的过过程代码码void CMyyVieew : : OnRRadiiouppdatte ()/TODDO: Addd yoour conntrool nnotiificcatiion hanndleer ccodee heerem_pSeet-Ediit ();UpdatteDaata ();m_pSeet- Uppdatte ();m_pSeet- Reequeery ();m_pSeet- CaanceelUppdat

31、te ();8“执行行统计”命令按按钮的过过程代码码void CMyyVieew : : OnBButttonssum ()/TODDO: Addd yoour conntrool nnotiificcatiion hanndleer ccodee heerem_pSeet-Ediit ();m_pSeet-m_YYES = mm_pSSet -mm_JBBGZ+m_ppSett-mm_JJJ+m_pSeet-m_YYJGZZ+m_pSeet-m_JJT+ m_ppSett-mm_GZZBZ;m_pSeet-m_KKCZJJ=m_pSeet-m_CCX+mm_pSSet-m_HF+m_ppSe

32、tt-mm_FZZOU+m_ppSett-mm_RDDF +m_ppSett-mm_BXX;m_pSeet-m_SSFGZZ= mm_pSSet-m_YESS- mm_pSSet-m_KCZZZ;UpdatteDaata (FAALSEE);m_pSeet-Reqquerry();m_pSeet-Upddatee();最后编译执执行工程程,检验验对话框框中的数数据处理理效果,如如图4.13所所示。图4.133 对对话框运运行效果果4.5.44 资源源文件分分析在工程创建建完成后后,读者者可以对对已经创创建的工工程的一一些文件件进行阅阅读和分分析。人人们常说说:软件件=文档+代码,这这一“等式”

33、几乎对对于一切切的开发发平台都都是适用用的;这这里的文文档包括括用户创创建的文文档和系系统派生生的文档档两类,无无论是用用户创建建的文档档或是系系统派生生的文档档,它们们往往都都是对系系统开发发的过程程的“记录”。因此此,通过过阅读这这些“记录”,不仅仅对VCC+开开发环境境有了更更深入的的了解,而而且对整整个系统统的实现现全过程程也一清清二楚。本本小节分分析两个个文档,一一个是工工程实现现文档,另另一个是是工程设设置文档档。1“工资资管理系系统”工程实实现文件件工资管理系系统实现现文件记记录了该该工程创创建的声声明、编编写的过过程代码码、资源源的消息息映射、数数据集的的创建和和控件映映射等等

34、等内容,工工程实现现文档往往往是用用户开发发过程中中编写最最多的文文档,一一切的过过程代码码编制往往往都是是在工程程实现文文档中进进行的。“工资管理系统”工程实现文档的全部内容如下所示(仅供读者在开发实践中参考,若无必要,也可以略去对这部分的阅读):/工资管管理系统统Vieew.ccpp : iimpllemeentaatioon oof tthe CMyyVieew cclasss# inccludde “sstdaafx.h”# inccludde “工资管理系统.h”# inccludde “工资管理系统Set.h”# inccludde “工资管理系统Doc.h”# inccludde

35、 “工资管理系统View.h”# ifddef _DEEBUGG# deffinee neew DDEBUUG_NNEW# unddef THIIS_FFILEEstatiic ccharr THHIS_FILLE = _FILLE_;# enddif/CMyyVieewIMPLEEMENNT_DDYNCCREAATE (CMMyViiew, CRRecoordVVieww)BEGINN_MEESSAAGE_MAPP (CCMyVVieww, CCReccorddVieew)/AAFX_MSGG_MAAP (CMyyVieew) ON_BNN_CLLICKKED (IDDC_BBUTTTONF

36、FIRSST, OnBButttonffirsst)ON_BNN_CLLICKKED (IDDC_BBUTTTONNNEXTT, OOnBuuttoonneext)ON_BNN_CLLICKKED (IDDC_BBUTTTONPPREVV, OOnBuuttoonprrev)ON_BNN_CLLICKKED (IDDC_BBUTTTONLLASTT, OOnBuuttoonlaast)ON_BNN_CLLICKKED (IDDC_RRADIIODDD, OOnRaadioodd)ON_BNN_CLLICKKED (IDDC_RRADIIODEELETTE, OnRRadeelette)ON_B

37、NN_CLLICKKED (IDDC_RRADIIOUPPDATTE, OnRRadiiouppdatte)ON_BNN_CLLICKKED (IDDC_BBUTTTONSSUM, OnnButttonnsumm)ON_BNN_CLLICKKED (IDDC_RRADIIOEDDIT, OnnRaddioeeditt)/AAFX_MSGG_MAAP/Staandaard priintiing commmanndsON_COOMMAAND (IDD_FIILE_PRIINT, CRRecoordVVieww : : OOnFiilePPrinnt)ON_COOMMAAND (IDD_FIILE_

38、DIRRECTT, CCReccorddVieew : : OnFFileePriint)ON_COOMMAAND (IDD_FIILE_PREEVIEEW, CReecorrdViiew : : OnnFillePrrievvieww)END_MMESSSAGEE_MAAP ()/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /CMyyVieew cconsstruuctiion/desstruuctiionCMyViiew : : CMMy

39、Viiew (): CCReccorddVieew (CMyyVieew : : IDDD)/AAFX_DATTA_IINITT (CCMyVVieww)m_pSeet = NUULL;/ AFXX_DAATA_INIIT/TODDO: addd coonsttrucctioon ccodee heereCMyViiew : : CCMyVVieww ()void CMyyVieew : : DoDDataaExcchannge (CDDataaExcchannge* pDDX)CRecoordVVieww : : DDoDaataEExchhangge (pDXX);/AAFX_DATTA_

40、MMAP (CMMyViiew)DDX_FFielldTeext (pDDX, IDCC_EDDITNNF, m_ppSett - mm_NFF, mm_pSSet);DDX_FFielldTeext (pDDX, IDCC_EDDITYYF, m_ppSett - mm_YFF, mm_pSSet);DDX_FFielldTeext (pDDX, IDCC_EDDITZZGBHH, mm_pSSet - m_ZGBBH, m_ppSett);DDX_FFielldTeext (pDDX, IDCC_EDDITZZGBMM, mm_pSSet - m_BM, m_pSeet);DDX_FFie

41、lldTeext (pDDX, IDCC_EDDITZZGXMM, mm_pSSet - m_XM, m_pSeet);DDX_FFielldTeext (pDDX, IDCC_EDDITJJBGZZ, mm_pSSet - m_JBGGZ, m_ppSett);DDX_FFielldTeext (pDDX, IDCC_EDDITJJJ, m_ppSett - mm_JJJ, mm_pSSet);DDX_FFielldTeext (pDDX, IDCC_EDDITSSFGZZ, mm_pSSet - m_SFGGZ, m_ppSett);DDX_FFielldTeext (pDDX, IDCC

42、_EDDITYYFHJJ, mm_pSSet - m_YFSS, mm_pSSet);DDX_FFielldTeext (pDDX, IDCC_EDDITKKCHJJ, mm_pSSet - m_KCZZJ, m_ppSett);DDX_FFielldTeext (pDDX, IDCC_EDDITBBX, m_ppSett - mm_NFF, mm_pSSet);DDX_FFielldTeext(pDXX, IIDC_EDIITBXX, mm_pSSet-m_BX, m_pSeet);DDX_ FieeldTTextt(pDDX, IDCC_EDDITCCX, m_ppSett-mm_CXX,

43、 mm_pSSet);DDX _FieeldTTextt(pDDX, IDCC _EEDITTFZOOU, m_ppSett-mm_FZZOU, m_pSeet);DDX _FieeldTTextt(pDDX, IDCC _EEDITTGZBBZ, m_ppSett-mm_GZZBZ, m_pSeet);DDX _FieeldTTextt(pDDX, IDCC _EEDITTHF, m_pSeet-m_HHF, m_ppSett);DDX _FieeldTTextt(pDDX, IDCC_ EEDITTJT, m_pSeet-m_JJT, m_ppSett);DDX _FieeldTTextt

44、(pDDX, IDCC_EDDITRRDF, m pSeet-m_RRDF, m pSeet);DDX_FFielldTeext(pDXX, IIDC_EDIITYJJGZ, m_pSeet-m_YYJGZZ, mm_pSSet);/AAFX_ DAATA_ MAAPBOOL CMyyVieew : PPreCCreaateWWinddow(CREEATEESTRRUCTT&/TODDO: Moddifyy thhe WWinddow claass or styyless heere by moddifyyingg/thee CRREATTESTTRUCCT ccsreturrn CCRecc

45、orddVieew : PPreCCreaateWWinddow(cs);void CMyyVieew:OnIInittiallUpddatee()m_pSeet = &GGetDDocuumennt()-mm_myySett;CRecoordVVieww : OnnIniitiaalUppdatte();GetPaarenntFrramee () -ReccalccLayyoutt();Resizze PPareentTToFiit();/CMyyVieew pprinntinngBOOL CMyyVieew : OOnPrrepaarePPrinntinng(CCPriintIInfoo*

46、 ppInffo)/deffaullt pprepparaatioonreturrn DDoPrrepaarePPrinntinng(ppInffo);void CMyyVieew:OnBBegiinPrrinttingg(CDDC* /*ppDC*/, CPPrinntInnfo* /*pInnfo*/)/TODDO: addd exxtraa innitiialiizattionn beeforre pprinntinngvoid CMyyVieew : OOnBeeginnPriintiing (CDDC* /*ppDC*/, CPPrinntInnfo* /*pInnfo*/)/TOD

47、DO: addd clleannup aftter priintiing/ CMMyViiew diaagnoostiics# ifddef _DEEBUGGvoid CMyyVieew : AAsseertVValiid () cconsstCRecoordVVieww : AssserrtVaalidd ();void CMyyVieew : Dummp (CDuumpCConttextt & sc) coonsttCRecoordVVieww : Duump(dc);CMyDooc* CMyyVieew : GGetDDocuumennt () / nonn-deebugg veersi

48、ion is inllineeASSERRT(mm_pDDocuumennt-IsKKinddOf(RUNNTIMME_CCLASSS(CCMyDDoc);Returrn (CMMyDooc*)m_ppDoccumeent;# enddif /_DEBBUG/CMyyVieew ddataabasse ssuppporttCRecoordsset* CMMyViiew : OnGGetRRecoordsset()returrn mm_pSSet;/CMyyVieew mmesssagee haandllerssvoid CMyyVieew : OOnBuuttoonfiirstt()/TOOD

49、O: Addd yyourr coontrrol nottifiicattionn haandller codde hhereem_pSSet-MooveFFirsst ();if(mm_pSSet-IssBOFF ()Mes saggeBoox ( 记记录已经经在第一一条!);m_pSSet-MooveNNextt (); UppdatteDaata (FAALSEE); reeturrn; UppdatteDaata ( FFALSSE);void CMyyVieew : OOnBuuttoonneext () / TTODOO: AAdd youur cconttroll nootiff

50、icaatioon hhanddlerr coode herre MM_ ppSett-MMoveeNexxt (); IIf (m_ppSett-IIsEOOF() MMesssageeBoxx ( 记录录已经在在最后一一条 ! ); mm_pSSet-MoovePPrevv (); UUpdaateDDataa(FAALSEE); rretuurn; UppdatteDaata (FAALSEE);void CMyyVieew:OnBButttonpprevv () / TTODOO: AAdd youur cconttroll nootifficaatioon hhanddlerr co

51、ode herrem_pSeet-MovvePrrev (); iif(mm_pSSet-IssBOFF() MMesssageeBoxx(记记录已经经在第一一条!); mm_ ppSett-MMoveeNexxt (); UUpdaateDDataa(FAALSEE); rretuurn; UppdatteDaata (FAALSEE);void CMyyVieew:OnBButttonllastt () / TODDO: Addd yoour conntrool nnotiificcatiion hanndleer ccodee heere m_pSeet-Ediit (); iff m_

52、pSeet-IsEEOF() MeessaageBBox(记录录已经在在第一条条!);m_pSeet-MovvePrrev (); -UpdaateDDataa(FAALSEE);retuurn;UpdaateDDataa(FAALSEE); void CMyyVieew : OOnRaadioodd() / TODDO: Addd yoour conntrool nnotiificcatiion hanndleer ccodee heere m_pSeet-AdddNeww (); UppdatteDaata(FALLSE);void CMyyVieew : OOnRaadioodellet

53、ee() / TODDO: Addd yoour conntrool nnotiificcatiion hanndleer ccodee heere mm_pSSet-Deelette(); mm_pSSet-MooveNNextt(); iif (m_ppSett-IIsEOOF() mm_pSSet-MooveLLastt(); iif(mm_pSSet-IssBOFF() mm_pSSet-SeetFiielddNulll(NNULLL); UUpdaateDDataa(FAALSEE);void CMyyVieew:OnRRadiiouppdatte() / TODDO: Addd y

54、oour conntrool nnotiificcatiion hanndleer ccodee heere m_ppSett-EEditt () ; UpddateeDatta (); m_ppSett-UUpdaate (); m_ppSett-RRequueryy (); / m_ppSett-CCanccelUUpdaate ();voidd CMMyViiew:OnnButttonnsumm()/TODDO: Addd yoour conntrool nnotiificcatiion hanndleer ccodee heerem_ pSSet-Eddit ();m_pSeet-m_

55、YYFS=0;m_ pSSet-m_KCZZJ=00;m_pSeet-m_SSFGZZ=0;m_pSeet-Upddatee ( );m_pSeet-Ediit ();(m_pSSet-m_YFSS) = (mm_pSSet-m_JBGGZ) + (m_ppSett-mm_JJJ) + (mm_pSSet-m_YJGGZ) + (m_ppSett-mmJT) + (m_pSeet-m_GGZBZZ);(m_pSSet-m_KCZZJ) = (m_ppSett-mm_CXX) + (mm_pSSet-m_HF) + (m_pSeet-m_FFZOUU) + (mm pSSet-m_RDFF) +

56、 (mm_pSSet-m_BX);(m_pSSet-m_SFGGZ) = (m_ppSett-mm_YFFS) - (m_ppSett-mm KCCZJ);m_pSeet-Upddatee ( );UpdatteDaata (FAALSEE);m_pSeet-Reqquerry();2“工资资管理系系统”工程设设置文档档(Seet.ccpp)工程设置文文档用来来记录工工程中对对于头文文件的声声明设置置、预定定义变量量、给变变量赋初初值、记记录字段段变量定定义等,请请参考如如下内容容:/工资管管理系统统Sett.cppp:impplemmenttatiion of thee CMMySeet c

57、classs# inccludde “sstdaafx.H”# inccludde “工资管理系统h”# inccludde “工资管理系统Seth”# ifddef _DEEBUGG# deffinee neew DDEBUUG_NNEW# unddef THIIS_FFILEEstatiic ccharr THHIS FILLE = _FILLE_;#endiif/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /CMyySett immpleemennta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论