1、数字长整型有(无重复)是图书名称文本20出版日期16出版商26出版地价格货币默认作者类别ID“图书借阅信息”数据表的结构定义如表3.2所示。参照此表!图书价格借书人姓名借书人身份借书人电话借书人地址借书时间承诺归还时间“图书归还信息”数据表的结构如表3.3所示。归还时间3.3.2 数据库与数据表创建过程利用Microsoft Access创建数据库及其数据表的步骤如下:(1)启动Microsoft Office 2003中的Microsoft Access 2003应用程序,出现图3.1所示对话框。图3.1 新建数据库选择(2)选择创建一个空数据库,单击“确定”按钮之后出现保存对话框,确定保存
2、数据库的文件位置(创建的数据库保存的位置为D: VC+写作案例CH3)和创建的数据库名称为“图书出版管理系统”即可,随后出现图3.2所示界面。图3.2 数据库中的数据表操作界面在数据库操作界面中,用户可以打开已经存在的数据表,并进行数据处理操作,也可以创建新的数据表或删除已经存在的表。(3)双击“设计”菜单,即可以设计一个新的数据表结构:图3.3是“图书出版基本信息”数据表结构的创建界面,用户可按表3.1定义的结构进行创建即可。图3.3 “图书出版基本信息”数据表设计用同样的方法,可以创建其他两个数据表,这在后面的系统制作中将会用到。数据表结构一经创建,用户可以打开该数据表,在数据表输入一些基
3、本数据,以在后面的系统设计中体现设计的效果。3.4 图书出版管理系统应用程序框架在VC+中创建应用程序,可以通过向导首先创建一个应用程序的框架,应用程序框架为用户提供了一个基本购开发过程。在这里,首先介绍制作“图书出版管理系统”的基本框架的过程和方法。其过程如下:(1)启动VC+程序,出现VC+开发平台。(2)在VC+主菜单中单击“文件|新建”菜单项,出现工程类型选择对话框,在工程类型选择对话框中选择工程类型为“MFC AppWizard exe”。(3)在“工程”编辑框中输入“图书出版管理系统”。(4)在“位置”列表框中选择“D: VC+写作案例CH3”。(5)选择创建新工作区和适应的Win
4、32平台,如图3.4所示。图3.4 新工程创建设置(6)单击“确定”按钮,出现应用程序类型选择对话框,如图3.5所示。图3.5 设置应用程序类型(7)在应用程序类型选择对话框中选择“单个文档”、“文档查看体系结构支持”并设置资源语言为“中文”。(8)单击“下一步”按钮进行进一步的设置;选择包含的数据库,如图3.6所示。图3.6 选择包含的数据库(9)选择“查看数据库不使用文件支持”返项。(10)中击“Data Source”按钮,出现图3.7所示的数据源创建对话框。在数据源连接方式中选择ODBC方式,并通过开关按钮选样“D: VC+写作案例Ch3图书出版管理系统.mdb”作为系统制作的数据源,
5、如图3.7所示。图3.7 数据源连接方式与数据源选择(11)单击OK按钮,出现“图书出版管理系统”数据库中的“出版图书基本信息”数据表,回到图3.6所示对话框。(12)在图3.6所示刘话框中单击“完成”按钮,即出现创建应用程序基本框架的全部信息提示:Application type of 图书出版管理系统: Single Document Interface Application targeting: Win32Classes to be created: Application: CMyApp in 图书出版管理系统.h and 图书出版管理系统.cpp Frame: CMainFrame
6、 in MainFrm.h and MainFrm.cpp Document: CMyDoc in 图书出版管理系统Doc.h and 图书出版管理系统Doc. Cpp DaoRecordView : CMyView in 图书出版管理系统 View. h and 图书出版管理系统View. cpp DaoRecordset : CMySet in 图书出版管理系统 Set.h and 图书出版管理系统Set. Cpp (connected to table 基本信息 in data source D: VC+写作案例 Ch3 图书出版管理系统.mdb)Features: + Initial
7、toolbar in main frame + Initial status bar in main frame+ Printing and Print Preview support in view+ 3D Controls+ Uses shared DLL implementation (MFC42. DLL)+ Database support, without file support+ ActvieX Controls support enabled+ Localizable text in:中文中国该信息提示总结了创建应用段序框架全部的设置内容,用户可以浏览该信息,如果与需要的设置
8、不符,则需要重新创建应用程序框架,以满足后面程序开发的需要:否则,在后面已经制作了一定内容之后再来修改框架,将造成一定的损失。单击“确定”按钮后即出现新创建的应用程序的工作区,如图3.8所示。图3.8 工程工作区显示3.5 开发图书出版基本信息处理对话框在图书出版管理系统中,图书出版的基本信息处理是一个重要的方面,为此我们首先需要创作这样一个界面。在工程向导生成的两个对话框中,一个是主界面,一个是About对话框。我们就需要在主界面中制作图书出版的基本信息处理功能。3.5.1 在对话框中放入控件并进行属性设置对话框的制作开发就是对控件进行开发制作,一个对话框只是个容器,他可以容纳别的控件并产生
9、作用,为此,制作开发对话框,首先需要在对话框中放入必要的控件,操作步骤如下:(1)删除对话框IDD_MY_FORM中的“TODO:在这个对话框里设置表格控制”文本提示框。(2)在对话框中放入一些标签控件、分组框控件、编辑框控件及命令按钮控件,对话框布局如图3.9所示。图3.9 对话框布局其中,标签控件的属性如表3.4所示。表3.4 标签对象的基本属性ID标题内容IDC_STATICDLGCAPTION图书出版管理系统IDC_STATICBOOKBH图书编号IDC_STATICBOOKNAMEIDC_STATICBOOKAUTHERIDC_STATICPUBADDRIDC_STATICPUBNA
10、ME出版社IDC_STATICBOOKFNH分类号IDC_STATICBOOKPRICEIDC_STATICPUBTIME售价两个分组框控件的基本属性如表3.5所示。表3.5 分组框对象的基本属性IDC_STATICGROUP1记录编辑区IDC_STATICGROUP2记录操作区编辑框控件的属性设置如表3.6所示。表3.6 编辑框对象的基本属性编辑内容IDC_EDIT_BOOKBH输入图书编号IDC_EDIT_BOOKFNH输入图书分类号IDC_EDIT_BOOKNAME输入图书名称IDC_EDIT_BOOKAUTHER输入作者名称IDC_EDIT_BOOKPRICE输入图书价格IDC_EDI
11、T_PUBADDRESS输入图书出版地IDC_EDIT_PUBNAME输入出版社名称命令按钮控件的基本属性如表3.7所示。表3.7 命令按钮对象的基本属性IDC_BUTIONADDNEW增加记录IDC_BUTIONDELETE删除记录IDC_BUTIONPDATE刷新记录IDC_BUTIONFIRST第一条IDC_BUTIONNEXT下一条IDC_BUTIONPREV前一条IDC_BUTTONLAST最后一条3.5.2 对编辑框进行数据绑定在以上对话框的控件中,除标签控件用于标示之外,编辑框控件必须与数据集进行数据绑定,命令按钮必须进行过程代码编制才能执行相应的任务。因此用户需要首先将每一个编
12、辑框控件与工程中引入的数据源中的字段进行数据绑定。如何进行数据绑定呢?由于存在多个编辑框控件,因此我们仅以“图书编号”编辑框控件的数据绑定为例加以说明,其他编辑框控件的数据绑定操作可以如法炮制。首先修改数据源的字段映射的成员变量,其方法如下:(1)用鼠标选中编辑框IDC_EDIT_BH控件,然后单击鼠标右键,出现一个快捷菜单。(2)快捷菜单中单击“建立类向导”菜单项,出现一个消息映射对话框。(3)将消息映射选项卡切换到“成员变量”选项卡,如图3.10所示。图3.10 “成员变量”选项卡(4)在“成员变量”选项卡的Class name列表框中选择数据集CmySet,此时将出现创建数据源时产生的数
13、据源字段的全部成员变量。往往全部字段的成员变量名为自动生成的,而且按自然编号排列,这样在建立编辑框与字段映射时很不方便,因此需要修改其数据集中全部字段的成员变量名称,通常按字段名称的中文拼音字母重新定义字段的成员变量,重新定义字段的成员变量之前,需要先删除原字段成员变量,然后再单击“增加成员变量”按钮定义新的成员变量,其全部字段的成员变量如图3.11所示。图3.11 重新定义成员变量的结果接下来,我们就可以为“图书编号”编辑框控件与字段成员变量进行映射。(5)在图3.11所示的对话框的Class name列表框中选择CmyView,出现对话框全部成员列表,如图3.12所示。图3.12 成员名称
14、列表(6)在成员名称列表中选择IDC_EDIT_BH编辑框,然后单击Add Variable按钮,出现选择字段映射成员变量的列表框,在字段映射成员变量列表框中选择“图书编号”字段的成员变量名称即可,如图3.13所示。图3.13 编辑框控件与字段成员变量的映射用同样的方法可以完成其他编辑框与相应的字段成员变量之间的映射关系。这样就将对话框中的编辑控件与数据源中的字段一一对应起来,并可以通过编辑框控件对数据集中的字段进行修改、增加与删除等数据操作。3.5.3 为每一个命令按钮编制过程代码命令按钮是用于事务处理的,但没有过程代码是不能进行任何操作的,因此我们需要为每一个命令按钮编制过程代码,我们以“
15、增加记录”命令按钮为例来说明编制过程代码的方法。(1)用鼠标右键单击“增加记录”命令按钮,出现一个快捷菜单。(2)在快捷菜单中单击“创建类向导”菜单项,出现消息映射对话框。(3)在消息映射对话框的第一个页面中选择BN_CLICKED单击事件句柄,并单击“增加函数”按钮,出现“增加记录”按钮的函数定义界面,直接接受系统建议的函数名即可。(4)单击“编辑代码”按钮,可以为“增加记录”按钮编辑过程代码,其代码如下所示:void CMyView : : OnButtonaddnew ()/TODO: Add your control notification handler code herem_pS
16、et - AddNew ();UpdateData (FALSE);其他几个命令按钮的过程代码编制可采用完全相同的方法,他们的过程代码如下:“删除记录”命令按钮的过程代码如下所示: OnButtondelete () Delete (); MoveNext ();if (m_pSet - IsEOF() m_pSet - MoveLast (); IsEOF () SetFieldNull (NULL);“刷新记录”命令按钮的过程代码如下所示: OnButtonupdate ()UpdateData ();m_pSet - Update (); Requery ();/m_pSet - Can
17、celUpdate ();注意:在对话框运行时,只有在有新记录增加、记录删除或记录修改的情况下才能刷新记录,否则会出现信息提示。“第一条记录”命令按钮的过程代码如下所示: OnButtonfirst () MoveFirst (); IsBOF ()MessageBox (“记录已经在第一条!”);m_pSet -return;“下一条记录”按钮的过程代码如下所示: OnButtonnext () IsEOF() MessageBox (“记录已经在最后一条! MovePrev ();Return;“前一条记录”命令按钮的过程代码如下所示: OnButtonprev () IsBOF() “最
18、后一条记录”命令按钮的过程代码如下所示: OnButtonlast ()MessageBox (“记录已经在最后一条!”);这样我们便完成了对话框IDD_MY_FORM的全部制作过程。编译运行工程,出现该对话框的运行效果,如图3.14所示。图3.14 对话框运行效果3.6 制作图书销售处理对话框在图书出版管理系统中,图书销售管理是一个重要的方面,需要一个专门的对话框来对图书销售进行记录、编辑、增加或删除。3.6.1 增加新的对话框资源并创建一个新类 要制作进行图书销售处理的对话框,首先需要增加一个新的对记框资源,并为该资源创建一个新类,以便系统按类进行调用。其操作如下:(1)在VC+主菜单中单
19、击“插入|资源”菜单项,出现一个资源类型选择列表。(2)在资源类型列表中选择对话框Dialog,单击“新建”按钮,则在工程中增加一个新的对话框,其自动生成的资源索引号ID为:IDD_DIALOG1;修改他的标题属性为“图书借阅信息”。为新的对话框创建一个新的类。(3)用鼠标右键单击新的对话框IDD_DIALOG1,出现一个快捷菜单,在快捷菜单中单击“建立类向导”,出现一个类创建选择对话框,如图3.15所示。图3.15 创建类选择(4)选择创建一个新的类,单击OK按钮,即进入创建新的类设置对话框,在类名设置对话框中设置该对话框的类名称为CMyDlg1,并作如下选择:File Name: MyDl
20、g1.cpp /类文件名Base Class: Cdialog /所属基类Dialog ID: IDD_DIALOG1 /索引号Automation: None /处理自动化图3.16 类创建设置单击OK按钮结束类创建。3.6.2 对新类进行声明由于需要通过主控界面的对话框调用新的对话框,因此需要在应用系统的主对话作程序文档中对两个新的对话框资源进行声明,以明确其身份。声明新类的方法如下:(1)在资源管理器中切换到FileView页面,如图3.17所示。图3.17 主对话框视图文档页面(2)在Source File文档中双击“MyDlg.cpp,即出现该文件的开始部分,该部分是对工程中的类进行
21、声明,增加新的声明,如下所示:/MyDlg.cpp : implementation file# include “stdafx.h”# include “图书出版管理系统.h”# include “MyDlg.h”/开始声明# include “MyDlg1.h”/结束声明# ifdef _DEBUG# define new DEBUG_NEW# undef THIS_FILEStatic char THIS_FILE = _FILE_;# endif3.6.3 用主对话框IDD_MY_FORM调用新的对话框IDD_DIALOG1前面我们已经创建了一个新的对话框资源并创建一个新类,同时对该类进行了声明。如何通过主对话框IDD_MY_FORM对新的对话框进行调用,这是关键的问题。为了能够对新的对话模型进行调用,我们光对主对话框进行修改并增加控件,其操作如下:(1)调整主对话框宽度,以适合系统制作和功能执行的需要。(2)在主对话框中放入一个分组框控件。(3)在分组框控件中放入两个选项按钮:对话框布局如图3.18所示图3.18 主对话框布局其中分组框控件和两个选项按钮的基本属性如表3.8所示。表3.8 分组框与选项按钮的基本属性IDC_STATICGROUP3查询IDC_RADIO1图书销售IDC_RADIO2图书分类选项按钮I
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1