资源描述
精品文档就在这里
-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------
--------------------------------------------------------------------------------------------------------------------------------------------
用VC++制作一个图书出版管理系统
关键词:DAO数据源创建 系统集成 消息函数 数据记录导航器制作
3.1 系统设计的目的和意义
出版社图书出版管理是一个庞大的任务,传统方式的图书管理将会造成巨大的人力和物力的浪费,因此能否实现计算机管理呢?回答是可以的。本案例将用VC++制作一个图书出版管理系统,他可以基本实现图书出版管理的大部分功能。在参考文献[1]、[2]中,均有图书管理系统制作的介绍。参考文献[2]是基于Visual FoxPr06.0实施的,而参考文献[1]则是基于Visual C++6.0制作的。在参考文献[1]中,仅作了一个单一的界面,而且使用的代码过于复杂,往往令初学者难以接受,因此,本案例将采用简化的过程代码和完整的系统集成技术,并采用DAO数据源创建方法。在以DAO方式创建数据环境时,采用了与参考文献[1]以及本书中的案例一、案例二完全不同的方式,实现了数据源的引入和应用程序的制作。在程序中我们利用了消息函数,并创建了一组自己数据记录导航程序和数据修改程序,程序利用了简单的消息映射过程代码,实现了对数据集的导航、浏览、增加和删除的功能,这也是与参考文献[1]中的代码不一样的,他是一种方便快捷的构建应用系统的方法。
3.2 系统功能设计
本系统具有一般系统的数据处理功能,如数据录入、增加、修改、删除等,另外,本系统将涉及多个对话框及对话框之间的相互切换。
3.3 数据库与数据表的设计
本系统将首先创建一个“图书管理系统”数据库,并在他之中创建三个数据表,一个是“图书基本信息”数据表,一个是“图书借阅信息”表,一个是“图书归还信息”表。
3.3.1 定义数据表结构
数据表是数据库中的“元素”,数据库是数据表的集合。数据库和数据表是任何数据库应用系统所不可缺少的基本要素,因此我们需要首先创建数据表。先定义“图书基本信息”数据表的结构,如表3.1所示,他专门用于记录出版社出版的图书的基本情况。
表2.1 “图书基本信息”数据表结构
字段名称
字段类型
字段大小
索引
必须填写
图书ID
数字
长整型
有(无重复)
是
图书名称
文本
20
是
出版日期
数字
16
是
出版商
文本
26
是
出版地
文本
26
是
价格
货币
默认
是
作者
文本
20
是
类别ID
文本
长整型
是
“图书借阅信息”数据表的结构定义如表3.2所示。
参照此表!!
字段名称
字段类型
字段大小
索引
必须填写
图书ID
数字
长整型
有(无重复)
是
图书名称
文本
20
是
图书价格
数字
16
是
借书人姓名
文本
借书人身份
文本
26
是
借书人电话
数字
26
是
借书人地址
文本
默认
是
借书时间
数字
20
是
承诺归还时间
数字
长整型
是
“图书归还信息”数据表的结构如表3.3所示。
参照此表!!
字段名称
字段类型
字段大小
索引
必须填写
图书ID
数字
长整型
有(无重复)
是
图书名称
文本
20
是
借书人姓名
借书人身份
文本
借书时间
数字
20
是
归还时间
数字
长整型
是
3.3.2 数据库与数据表创建过程
利用Microsoft Access创建数据库及其数据表的步骤如下:
(1)启动Microsoft Office 2003中的Microsoft Access 2003应用程序,出现图3.1所示对话框。
图3.1 新建数据库选择
(2)选择创建一个空数据库,单击“确定”按钮之后出现保存对话框,确定保存数据库的文件位置(创建的数据库保存的位置为D: \ VC++写作案例\CH3\)和创建的数据库名称为“图书出版管理系统”即可,随后出现图3.2所示界面。
图3.2 数据库中的数据表操作界面
在数据库操作界面中,用户可以打开已经存在的数据表,并进行数据处理操作,也可以创建新的数据表或删除已经存在的表。
(3)双击“设计”菜单,即可以设计一个新的数据表结构:图3.3是“图书出版基本信息”数据表结构的创建界面,用户可按表3.1定义的结构进行创建即可。
图3.3 “图书出版基本信息”数据表设计
用同样的方法,可以创建其他两个数据表,这在后面的系统制作中将会用到。
数据表结构一经创建,用户可以打开该数据表,在数据表输入一些基本数据,以在后面的系统设计中体现设计的效果。
3.4 图书出版管理系统应用程序框架
在VC++中创建应用程序,可以通过向导首先创建一个应用程序的框架,应用程序框架为用户提供了一个基本购开发过程。在这里,首先介绍制作“图书出版管理系统”的基本框架的过程和方法。其过程如下:
(1)启动VC++程序,出现VC+开发平台。
(2)在VC++主菜单中单击“文件|新建”菜单项,出现工程类型选择对话框,在工程类型选择对话框中选择工程类型为“MFC AppWizard [exe]”。
(3)在“工程”编辑框中输入“图书出版管理系统”。
(4)在“位置”列表框中选择“D: \ VC++写作案例\CH3\”。
(5)选择创建新工作区和适应的Win32平台,如图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”作为系统制作的数据源,如图3.7所示。
图3.7 数据源连接方式与数据源选择
(11)单击OK按钮,出现“图书出版管理系统”数据库中的“出版图书基本信息”数据表,回到图3.6所示对话框。
(12)在图3.6所示刘话框中单击“完成”按钮,即出现创建应用程序基本框架的全部信息提示:
Application type of 图书出版管理系统:
Single Document Interface Application targeting:
Win32
Classes to be created:
Application: CMyApp in 图书出版管理系统.h and 图书出版管理系统.cpp
Frame: CMainFrame 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 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:
中文[中国]
该信息提示总结了创建应用段序框架全部的设置内容,用户可以浏览该信息,如果与需要的设置不符,则需要重新创建应用程序框架,以满足后面程序开发的需要:否则,在后面已经制作了一定内容之后再来修改框架,将造成一定的损失。
单击“确定”按钮后即出现新创建的应用程序的工作区,如图3.8所示。
图3.8 工程工作区显示
3.5 开发图书出版基本信息处理对话框
在图书出版管理系统中,图书出版的基本信息处理是一个重要的方面,为此我们首先需要创作这样一个界面。在工程向导生成的两个对话框中,一个是主界面,一个是About对话框。我们就需要在主界面中制作图书出版的基本信息处理功能。
3.5.1 在对话框中放入控件并进行属性设置
对话框的制作开发就是对控件进行开发制作,一个对话框只是—个容器,他可以容纳别的控件并产生作用,为此,制作开发对话框,首先需要在对话框中放入必要的控件,操作步骤如下:
(1)删除对话框IDD_MY_FORM中的“TODO:在这个对话框里设置表格控制”文本提示框。
(2)在对话框中放入一些标签控件、分组框控件、编辑框控件及命令按钮控件,对话框布局如图3.9所示。
图3.9 对话框布局
其中,标签控件的属性如表3.4所示。
表3.4 标签对象的基本属性
ID
标题内容
IDC_STATICDLGCAPTION
图书出版管理系统
IDC_STATICBOOKBH
图书编号
IDC_STATICBOOKNAME
图书名称
IDC_STATICBOOKAUTHER
作者
IDC_STATICPUBADDR
出版地
IDC_STATICPUBNAME
出版社
IDC_STATICBOOKFNH
分类号
IDC_STATICBOOKPRICE
IDC_STATICPUBTIME
售价
出版日期
两个分组框控件的基本属性如表3.5所示。
表3.5 分组框对象的基本属性
ID
标题内容
IDC_STATICGROUP1
记录编辑区
IDC_STATICGROUP2
记录操作区
编辑框控件的属性设置如表3.6所示。
表3.6 编辑框对象的基本属性
ID
编辑内容
IDC_EDIT_BOOKBH
输入图书编号
IDC_EDIT_BOOKFNH
输入图书分类号
IDC_EDIT_BOOKNAME
输入图书名称
IDC_EDIT_BOOKAUTHER
输入作者名称
IDC_EDIT_BOOKPRICE
输入图书价格
IDC_EDIT_PUBADDRESS
输入图书出版地
IDC_EDIT_PUBNAME
输入出版社名称
命令按钮控件的基本属性如表3.7所示。
表3.7 命令按钮对象的基本属性
ID
标题内容
IDC_BUTIONADDNEW
增加记录
IDC_BUTIONDELETE
删除记录
IDC_BUTIONPDATE
刷新记录
IDC_BUTIONFIRST
第一条
IDC_BUTIONNEXT
下一条
IDC_BUTIONPREV
前一条
IDC_BUTTONLAST
最后一条
3.5.2 对编辑框进行数据绑定
在以上对话框的控件中,除标签控件用于标示之外,编辑框控件必须与数据集进行数据绑定,命令按钮必须进行过程代码编制才能执行相应的任务。因此用户需要首先将每一个编辑框控件与工程中引入的数据源中的字段进行数据绑定。如何进行数据绑定呢?
由于存在多个编辑框控件,因此我们仅以“图书编号”编辑框控件的数据绑定为例加以说明,其他编辑框控件的数据绑定操作可以如法炮制。
首先修改数据源的字段映射的成员变量,其方法如下:
(1)用鼠标选中编辑框IDC_EDIT_BH控件,然后单击鼠标右键,出现一个快捷菜单。
(2)快捷菜单中单击“建立类向导”菜单项,出现一个消息映射对话框。
(3)将消息映射选项卡切换到“成员变量”选项卡,如图3.10所示。
图3.10 “成员变量”选项卡
(4)在“成员变量”选项卡的Class name列表框中选择数据集CmySet,此时将出现创建数据源时产生的数据源字段的全部成员变量。往往全部字段的成员变量名为自动生成的,而且按自然编号排列,这样在建立编辑框与字段映射时很不方便,因此需要修改其数据集中全部字段的成员变量名称,通常按字段名称的中文拼音字母重新定义字段的成员变量,重新定义字段的成员变量之前,需要先删除原字段成员变量,然后再单击“增加成员变量”按钮定义新的成员变量,其全部字段的成员变量如图3.11所示。
图3.11 重新定义成员变量的结果
接下来,我们就可以为“图书编号”编辑框控件与字段成员变量进行映射。
(5)在图3.11所示的对话框的Class name列表框中选择CmyView,出现对话框全部成员列表,如图3.12所示。
图3.12 成员名称列表
(6)在成员名称列表中选择IDC_EDIT_BH编辑框,然后单击Add Variable按钮,出现选择字段映射成员变量的列表框,在字段映射成员变量列表框中选择“图书编号”字段的成员变量名称即可,如图3.13所示。
图3.13 编辑框控件与字段成员变量的映射
用同样的方法可以完成其他编辑框与相应的字段成员变量之间的映射关系。这样就将对话框中的编辑控件与数据源中的字段一一对应起来,并可以通过编辑框控件对数据集中的字段进行修改、增加与删除等数据操作。
3.5.3 为每一个命令按钮编制过程代码
命令按钮是用于事务处理的,但没有过程代码是不能进行任何操作的,因此我们需要为每一个命令按钮编制过程代码,我们以“增加记录”命令按钮为例来说明编制过程代码的方法。
(1)用鼠标右键单击“增加记录”命令按钮,出现一个快捷菜单。
(2)在快捷菜单中单击“创建类向导”菜单项,出现消息映射对话框。
(3)在消息映射对话框的第一个页面中选择BN_CLICKED单击事件句柄,并单击“增加函数”按钮,出现“增加记录”按钮的函数定义界面,直接接受系统建议的函数名即可。
(4)单击“编辑代码”按钮,可以为“增加记录”按钮编辑过程代码,其代码如下所示:
void CMyView : : OnButtonaddnew ()
{
//TODO: Add your control notification handler code here
m_pSet - > AddNew ();
UpdateData (FALSE);
}
其他几个命令按钮的过程代码编制可采用完全相同的方法,他们的过程代码如下:
“删除记录”命令按钮的过程代码如下所示:
void CMyView : : OnButtondelete ()
{
//TODO: Add your control notification handler code here
m_pSet - > Delete ();
m_pSet - > MoveNext ();
if (m_pSet - > IsEOF())
m_pSet - > MoveLast ();
if (m_pSet - > IsEOF ())
m_pSet - > SetFieldNull (NULL);
UpdateData (FALSE);
}
“刷新记录”命令按钮的过程代码如下所示:
void CMyView : : OnButtonupdate ()
{
//TODO: Add your control notification handler code here
UpdateData ();
m_pSet -> Update ();
m_pSet - > Requery ();
//m_pSet - > CancelUpdate ();
}
注意:在对话框运行时,只有在有新记录增加、记录删除或记录修改的情况下才能刷新记录,否则会出现信息提示。
“第一条记录”命令按钮的过程代码如下所示:
void CMyView : : OnButtonfirst ()
{
//TODO: Add your control notification handler code here
m_pSet - > MoveFirst ();
if (m_pSet - > IsBOF ())
{
MessageBox (“记录已经在第一条!”);
m_pSet -> MoveNext ();
UpdateData (FALSE);
return;
}
UpdateData (FALSE);
}
“下一条记录”按钮的过程代码如下所示:
void CMyView : : OnButtonnext ()
{
//TODO: Add your control notification handler code here
m_pSet - > MoveNext ();
if (m_pSet - > IsEOF()) {
MessageBox (“记录已经在最后一条!”);
m_pSet - > MovePrev ();
UpdateData (FALSE);
Return;
}
UpdateData (FALSE);
}
“前一条记录”命令按钮的过程代码如下所示:
void CMyView : : OnButtonprev ()
{
//TODO: Add your control notification handler code here
m_pSet - > MovePrev ();
if (m_pSet - > IsBOF()) {
MessageBox (“记录已经在第一条!”);
m_pSet - > MoveNext ();
UpdateData (FALSE);
Return;
}
UpdateData (FALSE);
}
“最后一条记录”命令按钮的过程代码如下所示:
void CMyView : : OnButtonlast ()
{
//TODO: Add your control notification handler code here
m_pSet - > MoveLast ();
if (m_pSet - > IsEOF ())
{
MessageBox (“记录已经在最后一条!”);
m_pSet - > MovePrev ();
UpdateData (FALSE);
Return;
}
UpdateData (FALSE);
}
这样我们便完成了对话框IDD_MY_FORM的全部制作过程。编译运行工程,出现该对话框的运行效果,如图3.14所示。
图3.14 对话框运行效果
3.6 制作图书销售处理对话框
在图书出版管理系统中,图书销售管理是一个重要的方面,需要一个专门的对话框来对图书销售进行记录、编辑、增加或删除。
3.6.1 增加新的对话框资源并创建一个新类
要制作进行图书销售处理的对话框,首先需要增加一个新的对记框资源,并为该资源创建一个新类,以便系统按类进行调用。其操作如下:
(1)在VC++主菜单中单击“插入|资源”菜单项,出现一个资源类型选择列表。
(2)在资源类型列表中选择对话框Dialog,单击“新建”按钮,则在工程中增加一个新的对话框,其自动生成的资源索引号ID为:IDD_DIALOG1;修改他的标题属性为“图书借阅信息”。
为新的对话框创建一个新的类。
(3)用鼠标右键单击新的对话框IDD_DIALOG1,出现一个快捷菜单,在快捷菜单中单击“建立类向导”,出现一个类创建选择对话框,如图3.15所示。
图3.15 创建类选择
(4)选择创建一个新的类,单击OK按钮,即进入创建新的类设置对话框,在类名设置对话框中设置该对话框的类名称为CMyDlg1,并作如下选择:
File Name: MyDlg1.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,即出现该文件的开始部分,该部分是对工程中的类进行声明,增加新的声明,如下所示:
//MyDlg.cpp : implementation file
# include “stdafx.h”
# include “图书出版管理系统.h”
# include “MyDlg.h”
//开始声明
# include “MyDlg1.h”
//结束声明
# ifdef _DEBUG
# define new DEBUG_NEW
# undef THIS_FILE
Static char THIS_FILE [] = _FILE_;
# endif
3.6.3 用主对话框IDD_MY_FORM调用新的对话框IDD_DIALOG1
前面我们已经创建了一个新的对话框资源并创建一个新类,同时对该类进行了声明。如何通过主对话框IDD_MY_FORM对新的对话框进行调用,这是关键的问题。为了能够对新的对话模型进行调用,我们光对主对话框进行修改并增加控件,其操作如下:
(1)调整主对话框宽度,以适合系统制作和功能执行的需要。
(2)在主对话框中放入一个分组框控件。
(3)在分组框控件中放入两个选项按钮:对话框布局如图3.18所示
图3.18 主对话框布局
其中分组框控件和两个选项按钮的基本属性如表3.8所示。
表3.8 分组框与选项按钮的基本属性
ID
标题内容
IDC_STATICGROUP3
查询
IDC_RADIO1
图书销售
IDC_RADIO2
图书分类
选项按钮IDC_RADIO2,即“图书分类”按钮,将用于调用图书分类对话框。接下来我们为“图书销售”选面按钮编制过程代码。
(4)用鼠标右键单击“图书销售”选项按钮,出现一个快捷菜单。
(5)在快捷菜单中选择“创建类向导”,出现消息映射对话框,如图3.19所示。
图3.19 消息映射对话框
(6)在消息映射对话框中选择IDC_RADIO1并选择消息BN_CLICKED。
(7)单击Add Function按钮,出现函数名定义对话框,直接接受系统建议的函数名称即可。
(8)单击Edit Code按钮,为选项按钮1编制过程代码,该过程用于调用对话框IDD_DIALOG1;其代码如下所示:
void CMyView: : OnRadio1 ()
{
//TODO: Add your control notification handler code here
CMyDlg1 MyDlg1; //主对话框
MyDlg1. DoModal (); //显示调用对话框1
//结束代码编辑
}
先检验选项按钮对IDD_DIALOG1的调用情况,这样可以保证后面程序的有效性。其运行效果如图3.20所示。
图3.20 对话框调用效果
3.6.4 制作图书销售界面
前面我们已经通过主对话框IDD_MY_FORM实现了对对话框IDD_DIALOG1的调用,但对话框IDD_DIALOG1还不具备任何功能,这就需要我们为他创建一个图书销售的管理功能。
(1)在工程资源管理器中选择IDD_DIALOG1。
(2)将IDD_DIALOG1中的Cancel按钮删除并调整OK按钮的布局。
(3)在对话框IDD_DIALOG1中放入一个标签控件。
(4)在对话框IDD_DIALOG1的空白处单击鼠标右键,出现一个快捷菜单。
(5)在快捷菜单中单击“Insert ActiveX Control”菜单项,即插入一个ActiveX控件;在控件列表中出现所有的ActiveX控件,如图3.21所示。
图3.21 ActiveX类控件列表
(6)在ActiveX控件列表中选择“Microsoft ADO Data Control, Version 6.0”,并单击“确定”按钮,即将一个ADODC控件放入到对话框中。
ADODC控件是一个数据源连接控件,他专门用于为应用系统创建数据环境,其作用与ODBC数据源一样,但使用方法和功能上有一定的区别。同时数据环境一经建立,ADODC控件又可以作为一个数据导航控件,专门用于对数据环境中的数据记录进行浏览查询。对话框IDD_DIALOG1是专门用于处理图书销售情况的一个对话框,因此他需要引入数据源,即用户需要为他引入数据源中的数据表,作为该对话框进行数据处理的“对象”。
(7)用鼠标右键单击ADODC控件,出现一个快捷菜单。
(8)在快捷菜单中单击“属性”,出现控件属性设计器,如图3.22所示。
图3.22 ADODC控件属性设计器
(9)设置控件的基本属性,如表3.9所示。
表3.9 ADODC控件的基本属性
属性
属性内容
ID
IDC_ADODC1
显示
YES
标题
图书销售浏览查询
ConnectionString
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D: \ VC+写作案例\Ch3\图书出版管理系统.mdb;Persist Security Info=False
RecordSource
出售图书
表3.9所示内容是ADODC1控件的基本属性,他还有许多其他的属性,我们仅列出其基本属性,其他属性可随着不同项目的需要而加以设置。在基本属性中,连接字符串和记录数据两个属性尤其重要。设置这两个属性的过程如下:
(10)在图3.22中将选项卡页面切换到Control页面:在该页面中选择Use ODBC Data Source Name选项。如图3.23所示。
图3.23 数据控件属性设置页面
(11)单击New按钮,出现一个创建数据源类型的选择对话框,如图3.24所示。
图3.24 数据源类型选择
(12)在数据源类型的选择对话框中,选择“用户数据源”,出现图3.25所示的驱动程序选择对话框。
图3.25 数据源驱动程序选择
(13)由于我们采用了Microsoft Access 2000创建数据库和数据表,因此我们也相应地选择Microsoft Access Driver驱动程序。
(14)单击“下一步”按钮,出现一个数据源设置完成的对话框。
(15)单击“完成”按钮,即出现确定数据源位置和为数据源命名的对话框,如图3.26所示。
图3.26 数据源命名及数据库选取
(16)在图3.26中将数据源命名为“图书管理数据库”,确定位置(选取数据库位置)后单击“确定”按钮即完成数据源设置;此时可以发现,在Use ODBC Data Source Name数据源列表框中已经存在了新创建的数据源,即图书管理数据库,如图3.27所示。
图3.27 新创建的数据源显示
数据源的创建本质上就是为应用系统引入一个数据库文件,但一个数据库中往往存在多个数据表,因此需要为对话框选择一个记录源,即一个具体的数据表文件。
(17)将图3.27所示选项卡页面切换到记录源页面。在记录源页面中打开数据源命令类型列表框,任其中选择“2-adCmdTable”方式,此时对话柜中将列出数据库户的所有表供用户选择,选择其中的“出售信息”表即可,如图3.28所示。
图3.28 命令类型及表选取
以上过程即为对话框IDD_DIALOGl完成了—个数据环境的创建过程。
数据源或数据环境的创建仅为对话框设置了一个可用的数据环境,但如何在对话框中处理数据环境户的数据,是对话框制作的又一关键问题。这里,我们为对话框引入一个专门用于数据操作和数据编辑的控件,即数据表格控件,他也是微软公刘所提供的专用数据控件。其操作如下:
(1)在对话框IDD_DIALOG1中放入一个数据表格控件IDD_DATAGRID1;数据表格控件也不是对话框的基本控件,他仍需要采用插入的方法加以进行。
(2)在对话框的空白处单击鼠标右键,出现一个快捷菜单。
(3)在快捷菜单中单击Insert ActiveX Control菜单项,即插入一个ActiveX控件;在控件列表中选择数据表格控件,如图3.29所示。
图3.29 微软数据表格控件
(4)单击“确定”按钮,即在对话框中插入一个“Microsoft DataGrid Control, Verison 6.0”控件。
(5)设置该控件的属性,如表3.10所示。
表3.10 DataGrid控件的基本属性
属性
属性内容
ID
IDC_DATAGRID1
显示
YES
标题
请进行数据处理
DataSource
IDC_ADODC1
AllowAddNew
True
AllowArrows
True
AllowDelete
True
AllowUpdate
True
同样,表格属性也有许多其他属性,用户可以根据不同的系统开发的需要,设置不同的属性,其中表格的初始状态是不允许修改、删除和刷新记录的,因此需要设置他的AllowAddNew、AllowDelete和AllowUpdate属性为True。这样在工程的运行期,用户就可以通过表格控件对表中的记录进行编辑、修改和添加。
表格的一个重要属性是他使用什么样的数据源DataSource,即该表格控件与什么样的数据源进行绑定。很显然,我们已经创建的数据源是通过IDC_ADODC1进行连接的,因此直接在属性列表中选择他即可。
(6)在表格控件的数据源属性项中,单击“DataSource”右边的开关按钮,出现一个绑定数据源列有,选择相应的数据源即可,如图3.30所示。
最后,编译执行工程,并调用IDD_DIALOG1对话框,即显示图书销售记录对话框,可以在表格控件中对数据进行编辑、修改和用ADODC控件进行浏览查询,如图3.31所示。
图3.30 数据源绑定属性设置
图3.31 对话框运行效果
3.7 制作“图书分类”对话框
在工程系统设计时,我们将系统分为三个大的模块,即基本信息处理模块、图书销售处理模块和图书分类管理模块。我们已经在前面制作了两个模块,并进行了成功的运行。接下来,我们需要制作第三个模块,即图书分类管理模块。该模块主要是用于图书分类编码查询,他是前面两个模块的辅助功能模块。
图书分类管理模块的制作与前面的两个模块的制作有许多相似之处,主要包括增加对话框、创建新类、创建数据环境与表格控件设置等。以下我们简单地介绍一下“图书分类”对话框的制作过程。
3.7.1 插入一个新的对话框资源
对于图书分类管理,我们采用一个独立的对话框加以进行,为此,需要增加一个新的对话框IDD_DIALOG2。增加新的对话框的方法可参考对话框IDD_DIALOGl的增加方法。
设置对话框IDD_DIALOG2的标题属性为“图书分类”:删除IDD_DIALOG2中的Cancel命令按钮,并调整对话框的大小和OK按钮的位置,其布局如图3.32所示。
图3.32 IDD_DIALOG2布局
3.7.2 为对话框IDD_DIALOG2创建数据源
与对话框IDD_DIALOGl的制作一样,我们需要为IDD_DIALOG2创建一个数据源, (过程我们将有所省略(具体步骤请参考IDD_DIALOGl的制作),大致步骤如下:
(1)在对话框IDD_DIALOG2中放入一个标签控件。
(2)在对话框IDD_DIALOG2中插入一个IDC_ADODC1控件,设置该控件的数据源如图3.33所示。
图3.33 IDC_ADODC1控件数据源
(3)设置IDC_ADODCl控件的命令类型与记录源,如图3.34所示。
图3.34 IDC_ADODC1命令类型与记录源
ADODCl控件的具体属性如表3.11所示。
表3.11 ADODC1控件的基本属性
属性
属性内容
ID
IDC_ADODC1
显示
YES
标题
图书分类浏览
ConnectionString
DSN=图书管理数据源
CommandType
2-Table CommandType
RecordSource
图书类别
以上过程即为对话框IDD_DIALOG2创建了一个数据环境。
数据源或数据环境的创建仅为对话框设置了一个可用的数据环境,同样,如何在对话框中处理数据环境中的数据,是对话框制作的一个关键问题。这里,我们为对话框引入一个专门用于数据操作和数据编辑的控件,即数据表格控件,他也是微软公司所提供的专用数据控件;
(1)在对话框IDD_DIALOG2中放入一个数据表格控件IDC_DATAGRIDl,其方法参考对话框IDD_DIALOGl的制作过程。
(2)设置该控件
展开阅读全文