第6章MFC ODBC编程 ·Yes,Please ·As shared DLL 如图6-7所示,单击“Next>”按钮,进入“MFC AppWizard-Step6of6”对话框。 MEC Appwicard-step 4 of6 ?x What teatures would you like to include? Docking toolbar Initial status bar Printing and print prevew Context-sensitive Help 30 controls MAPI (Messaging AP) Windows Sockets How do you want your toolbars to look? Normal CInternet Explorer ReBars How many fes would you like on your tecent file list? 日 Advanced.. <Back Cancel 图67设置应用程序特征信息 MC Appwizard-step 5 ofo What style of project would you Eke MFC Standard Windows Eplorer Would you like to generate source Tile comments? Yes.please CNo,thank you How would you like to use the MFC lbrary? As a shared DLL As a statically linked library Back Cancel 图6-8选择工程风格和MFC类库的加载方式 (7)“MFC AppWizard-Step6of6”对话框显示工程创建中的类信息。ODBCDemo2 工程包含了四个类: ·CODBCDemo22View类,工程视图类 ·CODBCDemo22App类,工程的应用类 ·CMainFrame类,工程主框架类 ·CODBCDemo2Doc类,工程文档类 这四个类构成了应用程序工程的主要框架。我们为CODBCDemo:2View类选择 ClistView基类,如图6-9所示。 -122-
第 6 章 MFC ODBC 编程 -122- Yes, Please As shared DLL 如图 6-7 所示,单击“Next >”按钮,进入“MFC AppWizard – Step 6 of 6” 对话框。 图 6-7 设置应用程序特征信息 图 6-8 选择工程风格和 MFC 类库的加载方式 (7) “MFC AppWizard – Step 6 of 6” 对话框显示工程创建中的类信息。ODBCDemo2 工程包含了四个类: CODBCDemo2View 类,工程视图类 CODBCDemo2App 类,工程的应用类 CMainFrame 类,工程主框架类 CODBCDemo2Doc 类,工程文档类 这四个类构成了应用程序工程的主要框架。我们为 CODBCDemo2View 类选择 ClistView 基类,如图 6-9 所示
第6章MFC ODBC编程 ?x Appwizard creates the following classes tor CODBCDemo2Vlew CODBCDemo2App CMainFrame CODBCDemo2Doc Cass name: Header file: Base class: Implementation file: CListvlew ODBCDemo2View.cp Back Cancel 图6-9显示工程创建中的类信息 (8)在对话框“MFC AppWizard-Step6of6”里单击Finish按钮,完成工程创建。工程 创建向导将该次工程创建的信息显示在一个“New Project Information”对话框里,如图6-l0 所示。在对话框里单击“OK”按钮,ODBCDemo2工程创建完成。 New Project informstion AppWizard will create a new skeleton project with the following specifications: AppScation type of ODBCDemo2: Single Document Intertace Appllcation targeting Win32 Cta55 es to be create本 Application:CODBCDemo2App in ODBCDemo2.h and ODBCDemo2.cpp Frame:CMainFrame in MainFrmh and MainFrm.cpp Document CODBCDemo2Doc in ODBCDemo2Doc.h and ODBCDemo2Doc.cpp View:CODBCDemo2View in ODBCDemo2Viewh and ODBCDemo2View.cpp Features: +Initial toobarn main frame +Initial status bar in main frame drnt Prevlew supportin vew DLL impleme n (MFC42.DLL) Project Directory: FADB_PROJECTODBCODBCDemo2 oK☐ Cancel 图6-10工程创建信息 建立数据源 建立数据源的方法在63.2节里已经进行了介绍,这里只说明本实例在建立数据源时的 不同之处。 本实例用到的数据源名称是“ODBCDemo2”,其描述为“Data source for ODBC MFC programming”,创建数据源时在“配置创建的新数据源”步骤里需要同ODBCDemo1数据 源有所区别。另外,数据源所支持的数据库为stocks.mdb文件,我们己经在6.3.2节里完 成了它的设计。 -123-
第 6 章 MFC ODBC 编程 -123- 图 6-9 显示工程创建中的类信息 (8) 在对话框“MFC AppWizard – Step 6 of 6”里单击 Finish 按钮,完成工程创建。工程 创建向导将该次工程创建的信息显示在一个“New Project Information”对话框里,如图 6-10 所示。在对话框里单击“OK”按钮,ODBCDemo2 工程创建完成。 图 6-10 工程创建信息 建立数据源 建立数据源的方法在 6.3.2 节里已经进行了介绍,这里只说明本实例在建立数据源时的 不同之处。 本实例用到的数据源名称是“ODBCDemo2”,其描述为“Data source for ODBC MFC programming”,创建数据源时在“配置创建的新数据源”步骤里需要同 ODBCDemo1 数据 源有所区别。另外,数据源所支持的数据库为 stocks.mdb 文件,我们已经在 6.3.2 节里完 成了它的设计
第6章MFC ODBC编程 设计应用程序界面 在63.2节里,我们利用工程创建向导创建了一个基于单文档界面的工程,本节应用程 序界面的设计工作主要是菜单和按钮的添加。为了为报表设置报表的内容和格式,我们还 需要为应用程序设计一个报表向导,这个向导由三个步骤组成,因此我们需要设计三个对 话框以实现这三个步骤的界面。 1.设计应用程序的主菜单 需要为应用程序设计的菜单包括:销售报告菜单、产品信息菜单、客户信息菜单、雇 员信息菜单、供应商信息菜单、运货商信息菜单、类别莱单以及报表操作菜单。这些菜单 的标识、标题以及提示信息如表6-9所示。 表6-9工程的菜单资源 标识 标题 提示信息 文件 ID OPTION 选项 应用程序设置选项 ID APP EXIT 退出 退出应用程序:提示保存文档n退出 销售报告 ID SALE PRODUCT 按产品 按照产品显示销售报告。n产品销售报告 ID SALE CUSTOMER 按客户 按照客户显示销售报告。n客户销售报告 ID SALE EMPLOYEE 按雇员 按照雇员显示销售报告。n雇员销售报告 产品 ID VIEW PRODUCT 产品信息 显示产品信息 客户 ID VIEW CUSTOMER 客户信息 显示客户信息 雇员 ID EXPLOYEE 雇员信息 显示雇员信息 运货商 ID VIEW TRANSPORTOR 运货商信息 显示运货商信息 供应商 ID VIEW PROVIDER 供应商信息 显示供应商信息 报表 ID REPORT SETUP 设置 设置报表标题、字段内容、注脚等内容的 字体。n报表设置 ID FILE PRINT PREVIEW 打印预览 显示整页n打印预览 ID FILE PRINT SETUP 打印设置 改变打印机及打印选项打印设置 ID FILE PRINT 打印 打印活动文档n打印 2.设计应用程序的按钮 需要为应用程序设计的按钮主要是销售报告的三种显示方式。这三个按钮的标识、图 标以及提示信息如表6-10所示。 表6-10工程的按钮资源 标识 图标 提示信息 ID SALE PRODUCT P 按照产品显示销售报告。产品销售报告 ID_SALE_EMPLOYEE E 按照雇员显示销售报告。雇员销售报告 ID SALE CUSTOMER 按照客户显示销售报告。n客户销售报告 -124
第 6 章 MFC ODBC 编程 -124- 设计应用程序界面 在 6.3.2 节里,我们利用工程创建向导创建了一个基于单文档界面的工程,本节应用程 序界面的设计工作主要是菜单和按钮的添加。为了为报表设置报表的内容和格式,我们还 需要为应用程序设计一个报表向导,这个向导由三个步骤组成,因此我们需要设计三个对 话框以实现这三个步骤的界面。 1. 设计应用程序的主菜单 需要为应用程序设计的菜单包括:销售报告菜单、产品信息菜单、客户信息菜单、雇 员信息菜单、供应商信息菜单、运货商信息菜单、类别菜单以及报表操作菜单。这些菜单 的标识、标题以及提示信息如表 6-9 所示。 表 6-9 工程的菜单资源 标识 标题 提示信息 文件 ID_OPTION 选项 应用程序设置选项 ID_APP_EXIT 退出 退出应用程序;提示保存文档\n 退出 销售报告 ID_SALE_PRODUCT 按产品 按照产品显示销售报告。\n 产品销售报告 ID_SALE_CUSTOMER 按客户 按照客户显示销售报告。\n 客户销售报告 ID_SALE_EMPLOYEE 按雇员 按照雇员显示销售报告。\n 雇员销售报告 产品 ID_VIEW_PRODUCT 产品信息 显示产品信息 客户 ID_VIEW_CUSTOMER 客户信息 显示客户信息 雇员 ID_EXPLOYEE 雇员信息 显示雇员信息 运货商 ID_VIEW_TRANSPORTOR 运货商信息 显示运货商信息 供应商 ID_VIEW_PROVIDER 供应商信息 显示供应商信息 报表 ID_REPORT_SETUP 设置 设置报表标题、字段内容、注脚等内容的 字体。\n 报表设置 ID_FILE_PRINT_PREVIEW 打印预览 显示整页\n 打印预览 ID_FILE_PRINT_SETUP 打印设置 改变打印机及打印选项\n 打印设置 ID_FILE_PRINT 打印 打印活动文档\n 打印 2. 设计应用程序的按钮 需要为应用程序设计的按钮主要是销售报告的三种显示方式。这三个按钮的标识、图 标以及提示信息如表 6-10 所示。 表 6-10 工程的按钮资源 标识 图标 提示信息 ID_SALE_PRODUCT 按照产品显示销售报告。\n 产品销售报告 ID_SALE_EMPLOYEE 按照雇员显示销售报告。\n 雇员销售报告 ID_SALE_CUSTOMER 按照客户显示销售报告。\n 客户销售报告
第6章MFC ODBC编程 3.设计应用程序的报表向导 需要设计三个对话框:IDD WZDFIELD,IDD WZDFORMAT和IDD WZDPREVIEW。 这三个对话框分别代表了报表向导的三个步骤:报表字段选择、格式设置以及设置信息浏 览三个步骤。 (I)设计IDD WZDFIELD对话框。使用VC+的“Insert>Resource”菜单命令可以将 Dialog(对话框)资源加入到工程里。IDD WZDFIELD对话框供用户选择报表字段,它的 标题是“选择报表字段信息”,字段选择对话框的其它资源如表6-11所示。 表6-I1 IDD WZDFIELD对话框的资源 资源类型 资源ID 标题 功能 编辑框 IDC MAINTITLE 报表的大标题 编辑框 IDC FOOTER 报表的脚注 编辑框 IDC FIELDTITLE 报表的字段标题 列表框 IDC LISTPRE 候选的报表字段列表 列表框 IDC LISTSEL 选用的报表字段列表 组合框 IDC CBPNFORMAT 页码类型组合框 复选框 IDC_CHKPAGENUM 使用页码 表示是否使用页码 标签 IDC STATIC 报表标题: 报表标题标签 标签 IDC_STATIC 供选择报表字段: 候选报表字段列表标题 标签 IDC_STATIC 选用的报表字段: 选用报表字段列表标题 标签 IDC_STATIC 字段标题: 字段标题标签 标签 IDC_STATIC 注脚文本: 注脚文本标签 标签 IDC_STATIC 页码格式: 页码格式标签 按钮 IDC_SELECT > 选用候选字段按钮 按钮 IDC DESELECT < 删除选用字段按钮 按钮 IDC SELECTALL 斗 全部选中候选字段按钮 按钮 IDC DESELECTALL k 全部删除选用字段按钮 设计完成后,字段选择对话框如图611所示。 选择报表字保信息 报表标题:巨dit 供选择报表字段(E): 选用的报表字段四)1 3 字段标知:区dit 注周文本: Edit 厂使用页码) 则码格式(): 图6-11设计完成后的字段选择对话框 -125-
第 6 章 MFC ODBC 编程 -125- 3. 设计应用程序的报表向导 需要设计三个对话框:IDD_WZDFIELD,IDD_WZDFORMAT 和 IDD_WZDPREVIEW。 这三个对话框分别代表了报表向导的三个步骤:报表字段选择、格式设置以及设置信息浏 览三个步骤。 (1) 设计 IDD_WZDFIELD 对话框。使用 VC++的“Insert>Resource”菜单命令可以将 Dialog(对话框)资源加入到工程里。IDD_WZDFIELD 对话框供用户选择报表字段,它的 标题是“选择报表字段信息”,字段选择对话框的其它资源如表 6-11 所示。 表 6-11 IDD_WZDFIELD 对话框的资源 资源类型 资源 ID 标题 功能 编辑框 IDC_MAINTITLE 报表的大标题 编辑框 IDC_FOOTER 报表的脚注 编辑框 IDC_FIELDTITLE 报表的字段标题 列表框 IDC_LISTPRE 候选的报表字段列表 列表框 IDC_LISTSEL 选用的报表字段列表 组合框 IDC_CBPNFORMAT 页码类型组合框 复选框 IDC_CHKPAGENUM 使用页码 表示是否使用页码 标签 IDC_STATIC 报表标题: 报表标题标签 标签 IDC_STATIC 供选择报表字段: 候选报表字段列表标题 标签 IDC_STATIC 选用的报表字段: 选用报表字段列表标题 标签 IDC_STATIC 字段标题: 字段标题标签 标签 IDC_STATIC 注脚文本: 注脚文本标签 标签 IDC_STATIC 页码格式: 页码格式标签 按钮 IDC_SELECT > 选用候选字段按钮 按钮 IDC_DESELECT < 删除选用字段按钮 按钮 IDC_SELECTALL >| 全部选中候选字段按钮 按钮 IDC_DESELECTALL |< 全部删除选用字段按钮 设计完成后,字段选择对话框如图 6-11 所示。 图 6-11 设计完成后的字段选择对话框
第6章MFC ODBC编程 (2)设计DD WZDFORMAT对话框。使用VC+的“Insert>Resource”菜单命令可以 将Dialog(对话框)资源加入到工程里。IDD WZDFORMAT对话框供用户选择报表格式, 它的标题是“设置报表格式”。报表格式设置对话框的其它资源如表6-12所示。 表6-I2 IDD WZDFORMAT对话框的资源 资源类型 资源ID 标题 功能 组合框 IDC_CBTITLEFONT 提供标题字体选择 组合框 IDC_CBHEADFONT 提供字段标题字体选择 组合框 IDC CBNORMALFONT 提供正文字体选择 组合框 IDC_CBFOOTERFONT 提供注脚字体选择 组合框 IDC_CBTITLESIZE 提供标题字体大小选择 组合框 IDC CBHEADSIZE 提供字段标题字体大小选择 组合框 IDC CBNORMALSIZE 提供正文字体大小选择 组合框 IDC CBFOOTERSIZE 提供注脚字体大小选择 静态控件 IDC PREVIEWAREA 设置效果预览区域 标签 IDC STATIC 字体名称: 字体标签 标签 IDC STATIC 字体大小: 字体大小标签 标签 IDC STATIC 标题(&T): 标题标签 标签 IDC_STATIC 列头(&M): 列头标签 标签 IDC STATIC 正文(&M: 正文标签 标签 IDC STATIC 注脚(&F): 注脚标签 标签 IDC STATIC 预览: 预览区域标签 设计完成后,报表格式设置对话框如图6-12所示。 设百报表格式 字体名称: 字体大小: 标题(T): 列头D: 正文D: 注脚E): 预览: 图6-12设计完成后的设置报表格式对话框 (3)设计DD WZDPREVIEW对话框。使用VC+的“nsert>Resource”菜单命令可 以将Dialog(对话框)资源加入到工程里。IDD WZDPREVIEW对话框供用户选择报表信 息的显示与确认,它的标题是“报表预览”。设置信息浏览对话框的其它资源如表6-13所 示。 -126-
第 6 章 MFC ODBC 编程 -126- (2) 设计 IDD_WZDFORMAT 对话框。使用 VC++的“Insert>Resource”菜单命令可以 将 Dialog(对话框)资源加入到工程里。IDD_WZDFORMAT 对话框供用户选择报表格式, 它的标题是“设置报表格式”。报表格式设置对话框的其它资源如表 6-12 所示。 表 6-12 IDD_WZDFORMAT 对话框的资源 资源类型 资源 ID 标题 功能 组合框 IDC_CBTITLEFONT 提供标题字体选择 组合框 IDC_CBHEADFONT 提供字段标题字体选择 组合框 IDC_CBNORMALFONT 提供正文字体选择 组合框 IDC_CBFOOTERFONT 提供注脚字体选择 组合框 IDC_CBTITLESIZE 提供标题字体大小选择 组合框 IDC_CBHEADSIZE 提供字段标题字体大小选择 组合框 IDC_CBNORMALSIZE 提供正文字体大小选择 组合框 IDC_CBFOOTERSIZE 提供注脚字体大小选择 静态控件 IDC_PREVIEWAREA 设置效果预览区域 标签 IDC_STATIC 字体名称: 字体标签 标签 IDC_STATIC 字体大小: 字体大小标签 标签 IDC_STATIC 标题(&T): 标题标签 标签 IDC_STATIC 列头(&M): 列头标签 标签 IDC_STATIC 正文(&M): 正文标签 标签 IDC_STATIC 注脚(&F): 注脚标签 标签 IDC_STATIC 预览: 预览区域标签 设计完成后,报表格式设置对话框如图 6-12 所示。 图 6-12 设计完成后的设置报表格式对话框 (3) 设计 IDD_WZDPREVIEW 对话框。使用 VC++的“Insert>Resource”菜单命令可 以将 Dialog(对话框)资源加入到工程里。IDD_WZDPREVIEW 对话框供用户选择报表信 息的显示与确认,它的标题是“报表预览”。设置信息浏览对话框的其它资源如表 6-13 所 示