版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WORD.72/72案例八用VC+制作一个商品销售管理系统关键词:菜单制作 封面设计 商品销售管理 状态条 加速键面板 加速键与菜单连接8.1 课程设计的目的和意义商品销售管理是任何生产单位、企业集团所面临的一项重要任务,管理容非常复杂,涉与资金流、物质流和人员流等等方面,容极其广泛,因此制作一个商品销售管理系统是十分重要的和必要的。8.2 系统功能设计在本系统的制作中,我们将介绍菜单的制作方法、在新的主界面中(不是由向导生成的主对话框)的菜单过程代码的编制方法、加速键面板的制作与其加速键与菜单的连接方法。这一案例与高校科研管理系统的制作几乎类似,但可以看出,它有许多的特色。商品销售管理系统仍
2、可以制作成一个多页面的“选项卡”式的管理系统,完全可以用VC+的选项卡控件加以制作,但鉴于目前的一些VC+6.0版本对于选项卡控件的局限性,我们还是只能沿用前面的多个对话框的制作来实现对于商品销售的多个方面的管理。在本系统中我们将介绍如何由用户自己制作一个系统封面(不通过添加SPLASH工程的方法),该系统启动封面出现后再确定是否进入系统主控界面。其系统的启动画面如图8.1所示。图8.1系统封面效果系统封面可以控制系统的进入,如果进入系统,则出现一个系统主控界面,通过系统主控界面可进入系统的各个功能模块。系统主要的功能模块如图8.2所示。图8.2系统功能模块图系统功能模块也可以由系统主空界面所
3、体现,如图8.3所示。图8.3系统功能模块图示可以看出,在系统主控界面中,我们设计了一个加速键面板,并分为两个区域,一个区域的加速键用于“对”管理,一个区域用于“对外”管理。这样系统的功能和结构更是一清二楚。8.3 商品销售管理系统中数据库与数据表的创建数据库是数据表的集合,系统开发首先应该开发一个数据库,它用于存放系统中的数据表,本章还是采用Microsoft Office 2003中的Microsoft Access 2003来进行数据库与数据表的创建工作。为此我们先定义数据库中的7个数据表的结构。即“商品目录”数据表、“销售部门”数据表、“雇员”数据表、“订单”数据表、“客户”数据表、“
4、零售商”数据表、“国家”数据表。8.3.1商品销售管理系统中数据库与数据表的设计本案例所需要的数据表比较多,作为一个商品销售管理系统,尤其是大型生产企业或企业集团,它们所涉与的容、围比较广泛,为此我们首先定义如下的一些数据表的结构。1.“商品目录”数据表结构的定义商品目录是商品销售管理中的一个重要的方面,它来自于企业的生产实际,也是销售管理中的主要参考对象,因此需要对商品目录进行有效的管理。根据商品目录的特点,我们特设计“商品目录”数据表的结构如表8.1所示。表8.1 “商品目录”数据表结构字段名称字段类型字段大小小数位数索引必须填写订购编号商品编号部门编号质量等级折扣数字数字数字数字数字默认
5、默认默认默认默认是是是是是“商品目录”数据表一经创建,可以在其中输入一些用于演示的数据记录,以在后面的对话框制作中显示对话框制作的数据操作效果。其数据可参考表8.2所示容。表8.2 “商品目录”数据表的参考数据订购编号商品编号部门编号质量等级折扣104710481048104910491050105010501050105110521052105310531053105410541055105510551055105610561057105810581059106010601121212341121231212341211211290033161231629547619334053185378
6、116355349531311221535653241123811518123012367295412386135455318112213340531311238331653245349754231354285576568578775685655458000000000000000000000000000002“雇员”数据表结构的定义雇员管理是商品销售管理中的又一个重要方面,因为任何商品销售的管理均是通过雇员执行的,根据雇员的特点,特设计“雇员”数据表的结构如表8.3所示。表8.3 “雇员”数据表结构字段名称字段类型字段大小小数位数索引必须填写雇员编号雇员名字雇员姓氏雇员聘用时间薪水数字文本文
7、本文本日期/时间数字默认101516默认默认是是是是是是“雇员”数据表的演示数据可参考表8.4。表8.4 “雇员”数据表参考数据雇员编号雇员名字雇员姓氏雇员聘用时间薪水2458911121415202428293436374445465261657172838594105107109110113NrldonYoungLambertJohnsonForestWestonLeeHallYoungPapadopoulosFisherBennetDe SouzaBaldwinReevesStansburyPhongRamanathanSteadmanNordstromLeungOBrienBurban
8、kSutherlandBishopMacDonaldWilliamsBenderCookBrownIchidaPageRobertoBruceKimLesliePhilK.J.TerriStewartKatherineChrisPeteAnnRogerJanetRogerWillieLeslieAshokWalterCarolLukeSue AnneJennifer MClaudiaDanaMary S.RandyOliver H.KevinKelly YukiMary250233224102293425622723188788852882672162092104203877289290477
9、8922558942022284588-12-2888-12-2889-2-689-4-589-4-1790-1-1790-5-190-6-490-6-1490-1-190-9-1291-2-191-2-1891-3-2191-4-2591-4-2591-6-391-8-191-8-991-10-292-2-1892-3-2392-4-1592-4-2092-6-192-6-192-8-892-10-893-2-193-2-493-2-493-4-1240000.0055500.0025000.0025050.0025050.0033292.9345332.0034482.6224400.00
10、25050.0023040.0034482.8025500.0023300.0033620.0039224.0040350.0033292.9419599.004500.0034500.0031275.0045332.0035699.0045000.0035699.0028900.0036799.0035500.0027000.0025689.0048000.003.“销售部门”数据表结构的定义在一个商品销售管理系统中,销售部门自然是它之中的一个重要容,特设计“销售部门”数据表的结构如表8.5所示。表8.5“销售部门”数据表结构字段名称字段类型字段大小小数位数索引必须填写部门编号说明库存订购成
11、本价格数字文本数字数字数字数字默认50默认默认默认默认是是是是是“销售部门”数据表的演示数据可参考表8.6所示容。表8.6“销售部门”数据表的参考数据部门编号零售商号说明库存订购成本价格9009121313131413161320132813301364139019461986231423412343235023672383239026122613382038203511564135113511351135113511351165886588351135113511351135113511351120142014Dive kayakUnderwater Diver VehicleRegulat
12、or SystemSecond Stage RegulatorRegulator SystemSecond Stage RegulatorRegulator SystemAlternate Inflation RegulatorSecond Stage RegulatorFirst Stage RegulatorSecond Stage RegulatorDepth/Pressure Gauge ConsoleElectronic ConsoleDepth/Pressure GaugePersonal Dive SonarCompass Console MountCompass(meter o
13、nly)Depth/Pressure GaugeElectronic Console w/optionsDirect Sghting CompassDive Computer2451659875371664712814613251322646211168128241551632168870351004313514010241222545300183120231221356.75504117.5124.1119.3575.53154.885.899.964.695.7973.32120.948.372.8510.1524.9676.2218912.58276.973999.95168025036
14、5341171430260270170309188390105235295220642034.951794“订单”数据表的结构在商品销售管理系统中,订单管理是不可缺少的,根据订单的特点,定义“订单”数据表的结构如表8.7所示。表8.7 “订单”数据表结构字段名称字段类型字段大小小数位数索引必须填写订单编号客户编号销售日期交付日期负责人编号合同说明交付地址1交付地址2交付城市交付地点交付 交付的国家交付交付的VIA信箱交付说明付款方式贷物总数税费运载费付款总量数字数字日期/时间日期时间数字文本文本文本文本文本文本文本文本文本文本文本文本数字数字数字数字默认默认默认默认默认505050505010
15、202020205050默认默认默认默认是是是是是是是是是是是是是是是是是“订单”数据表的演示数据可以参考表8.8所示容。表8.8 “订单”数据表参考数据订单编号客户编号销售日期交付日期负责人编号合同说明交付地址1交付地址2交付城市交付地点交付 交付的国家交付电话交付的VIA信箱交付说明付款方式贷物总数税费运载费付款总量1003135188-4-1288-5-3114UPSFOBCredit12504.5001004215688-4-1788-4-18145Maria EventoshPOBox737Johannesburg2042RepublicSo.Africa27-11-4432458D
16、HLFOBCheck78850078851005135688-4-2088-1-21110UPSFOBVisa48070048071006138094-11-688-11-746EmeryP101324FOBVisa319870001007138488-5-188-5-245US MailFOBVisa65000065001008151088-5-388-5-412US MailNet30Visa1449.50001009151388-5-1188-5-1271US MailNet30COD55870001010155188-5-1188-5-1246UPSNet30COD 499600499
17、61011156088-5-1888-5-195UPSNet30COD2679.85002679.851012156388-5-1988-5-20118UPSNet30Credit52010052011013162488-5-2588-5-26134EmeryNet30Credit31150031151014164588-5-2588-5-26144EmeryNet30Credit134.8500134.851015165188-5-2588-5-2671EmeryFOBMC20321.750020321.751016168088-6-288-6-365UPSFOBAmEx2605000101
18、7198488-6-128-6-1328DHLFOBCheck101950001018211888-6-1888-6-19118DHLFOBCheck52560001019213588-6-2488-6-25114DHLNet30Credit206020005.“客户”数据表结构定义客户是销售管理的直接对象,因此客户管理也是商品销售管理中的一个重要容,根据客户数据的特点,定义“客户”数据表的结构如表8.9所示。表8.9“客户”数据表结构字段名称字段类型字段大小小数位数索引必须填写客户编号公司名称地址1地址2城市所在州名邮政编码国家税费联系方式最后交易日期数字文本文本文本文本文本文本文本文本文本
19、数字文本日期/时间默认5050505050165020201030默认是是是是是是是是是是是是是“客户”数据表的演示数据可参考表8.10所示容。表8.10 “客户”数据表演示数据客户编号公司名称地址1地址2城市所在州名邮政编码国家税费联系方式最后交易日期122112311351Kauai Dive ShoppeUniscoSight Diver4-976 Sugarloaf Hwy PO Box Z-5471 Neptune LaneSuite 103KapaaKauaiFreeportKatoPaphos94766-123494766-123494766-1234USBahamasCypru
20、s808-555-0269809-555-3915357-6-876708808-555-0278809-555-4958357-6-8709438.50095-2-294-11-1794-10-186.“零售商”数据表结构定义企业产品销售是通过一些零售商进行的,而且零售商的数量远比批发商的数量多,因此零售商数据管理是商品销售管理的又一个重要组成部分。根据零售商数据结构的特点,特定义“零售商”数据表的结构如表8.11所示。表8.11 “零售商”数据表结构字段名称字段类型字段大小小数位数索引必须填写零售商编号零售商地址城市所在州名邮政编码国家优先偿付数字文本文本文本文本文本文本文本文本数字默认1
21、65050501650202010是是是是是是是是是是“零售商”数据表的演示数据可参考表8.12所示容。表8.12 “零售商”数据表演示数据零售商编号零售商地址城市所在州名邮政编码国家优先偿付20142641267435113819382045214642Cacor CorjporationUnderwaterJ.W.Luscher Mfg.Scuba ProfessionalsDiversSupply ShopTechniquesPerry ScubaBeauchat,Inc.161 Southfield Rd50 N 3rd Street65 Addams Street3105 East
22、Brace5208 University Dr52 Dolphin Drive3443 James Ave45900 SW 2nd AveSouthfieldIndianapolisBerkelyRancho JDominguezMaconRedwood CityHapevilleFt LauderdaleOHINMACAGAGAGAFL600934620802779902212086594065-108630354U.S.AU.S.AU.S.AU.S.AU.S.AU.S.AU.S.AU.S.A708-555-9555317-555-4523800-555-4744231-555-785091
23、2-555-6790415-555-1410800-555-6220305-555-7242708-555-7547508-555-8949912-555-8474415-555-1276404-555-8280305-555-6739-1-10-100-1-17“国家”数据表结构定义对于大型企业或跨国集团公司,往往一些产品是跨国销售的,因此国家名录管理也是一个辅助的管理容,其“国家”数据表的结构定义如表8.13所示。表8.13 “国家”数据表结构字段名称字段类型字段大小小数位数索引必须填写国家首都所在州名地区人口文本文本文本文本数字50165050默认是是是是是“国家”数据表的演示数据可参考
24、表8.14所示容。表8.14 “国家”数据表演示数据国家首都所在州名地区人口ArgentinaBoliviaCanadaChileColombiaCubaEcuadorEl SalvadorGuyanaJamaicaMexicoNicaraguaParaguayPeruUnited States of AmericaUruguayVenezuelaBuenos AiresLa PazBrasiliaOttawaSantiagoBagotaHavanaQuitoSan SalvadorGeorgetownKingstonMexico CityManaguaAsuncionLimaWashingt
25、onMontevideoCaracasSouth AmericaSouth AmericaSouth AmericaNorth AmericaSouth AmericaSouth AmericaNorth AmericaSouth AmericaNorth AmericaSouth AmericaNorth AmericaNorth AmericaNorth AmericaSouth AmericaSouth AmericaNorth AmericaSouth AmericaSouth America27778151098575851119699761477569431138907114524
26、455502208652149691142419671801390004065761285215936313017614091204732300003730000015040000026500000132000003300000010600000106000005300000080000002500000088600000039000000466000002160000002492000000300200001970000008.3.2“商品销售数据库”的创建商品管理数据库的创建过程与前面章节的创建数据库的方法一样,这里我们就不再重复了,其保存路径为“D:VC+写作案例CH8商品销售数据库”。
27、创建的数据库和数据表如图8.4所示。图8.4 商品销售数据库与数据表8.4 制作一个系统封面的位图文件在本案例中,我们仍将制作一个应用系统封面,与案例七一样,它不再是一个Splash画面,而需要我们自己制作一个对话框作为系统封面,系统封面往往在系统启动时加以显示。系统封面的作用主要有:(1)说明系统名称;(2)说明系统的归属,即;(3)说明系统制作时间;(4)修饰应用系统。这些容不是固定的,它可以根据用户的需要和爱好加以制作。我们首先制作一个系统封面的位图文件,其系统封面的位图文件如图8.5所示。图8.5 系统封面位图8.5 创建“商品销售管理系统”应用程序基本框架在前面我们已经创建了数据库、
28、数据表、制作了系统封面的位图文件,也就是作好了系统开发的一切工作,因此我们可以着手应用系统的界面制作了。在VC+中,往往将应用程序的界面称作对话框,应用程序界面的制作往往就是对对话框的应用开发。本案例我将不再通过ODBC数据源创建的方法,创建作为基本框架中主对话框的数据源,而仅创建一个基本对话框。基本对话框用于制作应用系统的封面,基本框架的制作过程如下:(1)结束数据库的创建并启动VC+,出现VC+主控界面。(2)在VC+主控界面中单击“文件|新建”菜单项,出现新建工程类型选择对话框,在工程类型对话框中选择MFC AppWizard(EXE)工程类型。(3)输入工程名称为“商品销售管理系统”并
29、选择Win32平台类型。(4)单击“确定”按钮,进入文档类型设置对话框。(5)选择“基本对话框”类型,即创建一个基本对话框的应用程序,设置资源使用的语言为中文。(6)单击“完成”按钮,出现基本对话框的全部信息,如下所示:Application type of 商品销售管理系统:Dialog-Based Application targeting: Win32Classes to be created: Applica5tion: CMylApp in 商品销售管理系统.h and 商品销售管理系统.cpp Dialog: CMylDlg in 商品销售管理系统 Dlg.h and 商品销售管理
30、系统 Dlg.cppFeatures: +About box on system menu +3D Controls +Uses shared DLL implementation (MFC42.DLL) +ActiveX Controls support enabled +Localizable text in: 中文中国确认创建信息之后,即出现应用程序开发的对话框设计界面。8.6 制作应用系统封面在案例五和案例六的工程中,我们通过增加一个SPLASH工程,作为应用系统的封面资源,但在本案例中,我们将生成的应用系统框架中的基本对话框IDD-MY-DIALOG作为应用系统的封面加以制作。为什么
31、基本对话框可以作为应用系统封面呢?很显然,在工程编译或运行时最先启动的就是基本对话框,在前面我们将它称之为主对话框,对主对话框进行加工制作,用于创建应用系统的封面,通过它确定是否进行其他的相关操作,其制作步骤如下:(1)在主对话框IDD-MY-FORM中将提示文本框“TODO:在这个对话框里设置表格控制。”删除。(2)在主对话框IDD-MY-FORM中将两个命令按钮“确定”和“取消”删除,并放入两个新的命令按钮,设置它伞兵相关属性。(3)在对话框IDD-MY-DIALOG中放入一个图片控件,并加载我们前面制作的封面位图文件,窗体布局如图8.6所示。图8.6 系统封面布局其中,两个命令按钮控件的
32、属性设置如表8.15所示。表8.15 命令按钮对象的基本属性ID 标题容IDC-BUTTONENTER 进入系统IDC-BUTTONEXIT 退出系统在两个命令按钮中,其中一个用于退出系统,即结束整个系统操作,另外一个用于进入系统,所谓进入系统,就是进入应用系统的主界面(注意:这里我们指的系统主界面不再是由应用系统框架生成的主对话框,而是我们自己增加并命名的一个对话框)。因此需要给这两个命令按钮建立消息映射,创建函数名和编制该命令的事务过程代码。其方法在前面已经大量涉与,就不再重复了。“进入系统”命令按钮的过程代码如下所示:Void CMyDIg:OnButtonenter ()/TODO:A
33、dd your control notification handler code here CMainDIg MainDIg;MainDIg.DoModal ();“退出系统”命令按钮的过程代码如下所示:Void CMyDIg:OnButtonexit ()/TODO: Add your control notification handler code hereOnOK();8.7 系统主界面的制作在自动生成的应用程序框架中,我们已经将主对话框IDD-MY-DIALOG用作了系统封面,作为一个应用系统,目前它还需要一个系统主控界面,为此我们需要在工程中增加一个对话框资源,用于制作“商品销售
34、管理系统”主控界面。其步骤如下:(1)在VC+主菜单中单击“插入|资源|Dialog”菜单项,确认后即在工程的视图选项卡中增加了一个新的对话框IDD-DIALOG1。(2)将新的对话框IDD-DIALOG1的标题属性修改为“商品销售管理系统主控界面”。(3)在对话框中加入一个图片控件并调用一个位图文件,对主控界面加以修饰。(4)将OK命令按钮删除。(5)将CANCEL命令按钮删除。(6)在对话框中放入三个分组框控件,用于对对话框进行区域划分,形成层次感。(7)在对话框中放入一个标签控件,用于说明对话框,其标签标题名为“商品销售管理系统”。(8)在对话框中的两个区域之中放入七个命令按钮,作为七个
35、功能的执行控件。(9)在对话框中放入现代战争状态条控件IDC-SBARCTRL1,该控件是一个ActiveX控件,仍旧需要用插入的方法将其插入到对话框中。该控件在ActiveX控件的列表中,如图8.7所示。图8.7 状态条控件状态条控件的制作主要为“分段”,即插入窗格,通过插入窗格的个数就可以将状态条分为若干段。然后为每一段进行对齐布局和标题设置,并为每一段安排一个“显砂数据”,可通过“样式”列表进行,如图8.8所示。图8.8 状态条样式设置用户还可以为每一段即每一个窗格设置一个图片,以对状态条进行修饰,最后对话框如图8.9所示。图8.9 对话框与状态条布局一个对话框只是一个框架,要使我们增加
36、的对话框资源成为一个应用系统的主界面,需要用菜单或命令按钮的方法来完成其他程序或对话的调用,因此我们需要制作一个菜单文档,并与主界面对话框进行连接。其菜单的制作过程如下:(1)在VC+主菜单中单击“插入|资源|Menu”菜单项,确认后即在工程的视图选项卡中增加了一个菜单文档IDR-MENU1。(2)双击该文档,出现菜单设计器,在菜单设计器中设计每一个主菜单和下拉菜单即可,其设计效果如图8.10所示。图8.10 菜单设计其中所有的菜单条目如表8.16所示(注意:主菜单无索引编码)。表8.16 菜单与下拉菜单ID标题容ID-Menu-SPMLID-Menu-XSBMID-Menu-DDGLID-M
37、enu-GYGLID-Menu-DLGLID-Menu-KHGLID-Menu-GJML商品目录商品目录管理销售部门销售部门管理订单管理订单管理雇员管理雇员管理代理商管理代理商管理客户管理客户管理国家名目国家名目管理菜单文档一经创建,就需要用一个对话框来与之连接,成为该对话框的一个组合部分,这里的菜单连接就是与我们创建的主对话框进行连接,连接的方法如下:(3)在对话框的通用属性选项卡中打开“菜单”列表框,选择一个菜单文档进行关联,如图8.11所示。图8.11 对话框与菜单的连接这样运行工程并调用主界面时,菜单便显示在对话框之中,如图8.12所示。图8.12 对话框与菜单的连接效果菜单的每一个条
38、目与命令按钮的作用几乎是一致的,只是表现形式不同,主要用于对程序的执行和对话框的调用,因此它仍然需要建立消息映射、创建命名函数、编制过程代码。由于此处涉与多个菜单,我们将结合后面的对话框的制作再加以说明8.8 制作“商品目录管理”对话框在前面我们几乎为“商品销售管理系统”形成了一个完整的框架,它包括系统封面、主窗口、主菜单、状态条等各种Windows应用系统的相关要素。但还未有任何实质性的功能的制作,因此从本节起我们就将制作“商品销售管理系统”中的各个功能模块。首先制作“商品目录管理”对话框。8.8.1增加对话框资源并插入控件对象作为一个较大的应用系统,往往需要用一些专门的对话框进行分类的数据
39、处理,因此我们首先需要增加一个对话框资源。其操作如下:(1)在VC+主菜单中单击“插入|资源|Dialog”菜单项,确认后即在工程的视图选项卡中增加了一个新的对话框IDD_DIALOG1。(2)将新的对话框IDD_DIALOG1的标题属性修改为“商品目录管理”;而它的资源索引号IDD_DIALOG1修改为IDD_DIALOGSPML。(3)删除对话框中自动创建的两个命令按钮。(4)插入一个ADO数据源控件IDC_ADODC1。(5)插入一个数据表格控件IDC_DATAGRID1。其对话框的布局如图8.13所示。图8.13 “商品目录管理”对话框布局8.8.2为“商品目录管理”对话框创建新类并进
40、行声明“商品目录管理”对话框是工程中增加的新的资源,因此必须为它创建一个新类并加以声明,关于对话框的类的创建过程我们就不多介绍了,将它的新类命名为“CSpm1Dlg”。一个新的类一经创建,就需要在工程中对此加以声明,目前调用该对话框资源的对话框是IDD-MainD1g,因此需要在它的实现文件中加以声明,其声明过程如下所示:/MainD1g.cpp : implementation file/#include stdafx.h#include 商品销售管理系统.h#include MainDlg.h#include Spmldlg.h#ifdef _DEBUG#define new DEBUG-
41、NEW#undef THIS-FILEStatic char THIS-FILE =_FILE_;#endif这样在以后的使用中,可以将它作为一个已知的资源加以调用。8.8.3为“商品目录管理”对话框引入数据源与前面的任何数据管理一样,进行数据管理的对话框必须引入或创建一个数据源,其操作如下:在“商品目录管理”对话框中插入一个ActiveX控件ADODC1,并设置其基本属性,如表8.17所示。表8.17 ADODC1控件对象的基本属性属性属性容ID显示标题ConnectionStringRecordSourceCommandTypeIDC_ADODCSPMLYES商品目录DSN=商品销售数据源
42、商品目录2-Table CommandType其中ADODC1控件属性中的DSN属性的设置过程如下:(1)用鼠标右键单击ADODC1控件,出现一个属性设置页面,将该页面切换至控制属性页面,在控制页面中选择数据源创建类型,并新建一个数据源,出现一个数据源类型选择对话框,如图8.14所示。在数据源类型选择对话框中,我们选择一个仅用于本地机的用户数据源类型。(2)单击“下一步”按钮,出现一个选择数据源驱动程序的对话框,我们仍然选择Microsoft Access数据源驱动程序,如图8.15所示。(3)单击“下一步”按钮,出现完成安装数据源设置的过程。(4)单击“完成”按钮,出现一个数据源设置对话框,
43、如图8.16所示。在数据源设置对话框中,首先需要设置一个数据源名称,它是我们后面调用该数据源的依据,为其取名为“商品销售数据源”。另外用户可对该数据源作一个描述或说明,如描述为“该数据源用于创建一个商品销售管理系统”。 图8.14 数据源类型选择 图8.15 数据源驱动程序选择(5)单击Select按钮,出现一个打开文件对话框,在对话框中选择前面创建的“商品销售数据库.mdb”即可,如图8.17所示。(6)单击OK按钮,即完成整个数据源文件的创建工作。 图8.16 数据源设置 图8.17 数据源中的数据库选择接下来我们为ADODC1控件选择数据源,即“商品销售数据源”,如图8.18所示。(7)
44、将ADODC1的属性设置选项卡页面切换至“记录源”页面,为ADODC1控件设置数据源命令类型和数据表文件,如图8.19所示。 图8.18 ADODC1的数据源选 图8.19 ADODC1 记录源设置设置记录源本质上就是从创建的数据源中选择一个数据表文件。确认后即完成整个ADODC1控件的属性设置过程。8.8.4为“商品目录管理”对话框引入表格控件在前面我们已经为“商品目录管理”对话框引入了数据源控件ADODC1,并创建了数据源,为能在对话框中对商品目录进行管理,我们需要在对话框中插入一个数据表格控件IDC_DATAGRID1,它的插入方法在前面已经多次介绍过,这里就不再重复。其表格控件的基本属
45、性如表8.18所示。表8.18 DataGrid控件的基本属性属性属性容ID显示标题DataSourceAllowAddNewAllowArrowsAllowDeleteAllowUpdateIDC_DATAGRID1YES商品目编辑查询表格IDC_ADODCSPMLTrueTrueTrueTrue最后的“商品目录管理”对话框的布局如图8.13所示,其运行效果如图8.20所示。图8.20 “商品目录”管理界面8.8.5用主对话框中的菜单条目调用对话框我们已经制作好了“商品目录管理”对话框,但它是作为工程中的一个类来使用的,为此我们需要用一定的工具来调用该对话框,这个工具就是菜单资源,在主控界面
46、中我们还制作了菜单的加速键,这里就需要我们用菜单和加速键来调用“商品目录管理”对话框。菜单是与主对话框IDD_MainDlg进行连接的,因此它已经从属于IDD_MainDlg类并列于其中,但与其他的命令按钮一样,需要为每一菜单建立消息映射、创建函数过程并编辑过程代码。我们以“商品目录”菜单为例,来说明“商品目录”菜单对“商品目录管理”对话框的调用方法,其操作如下:(1)在工程中的视图选项卡中双击“IDD_MainDlg”对话框,出现该对话框。(2)用鼠标右键单击“IDD_MainDlg”对话框,出现一个快捷菜单。(3)在快捷菜单中单击“创建类向导”,出现一个消息映射选项卡,如图8.21所示。图
47、8.21 类向导选项卡类向导选项卡中的第一个页面即为消息映射页面,在该页面的对象索引目录中显示了全部菜单条目的名称。(4)选择“ID_Menu_SPML”菜单条目,即“商品目录”菜单条目,并选择消息类型为“COMMAND”类型,即命令类型,则激活Add Function按钮。(5)单击Add Function按钮,出现菜单函数定义界面,建议直接接受系统提示的函数名称。(6)然后单击Edit Code按钮编制过程代码,其过程代码如下所示:Void CMainDlg:OnMenuSPML ( ) /TODO: Add your command handler code here CSpmlDlg
48、SpmlDlg; SpmlDlg.DoModal ( );这样就将主菜单与“商品目录管理”对话框进行了连接,从而编译运行工程时可以利用该菜单直接调用“商品目录管理”对话框。另外,我们还建立了一个“商品目录”菜单对应的加速键命令按钮。为它建立消息映射、创建函数和编制代码,其方法有两种,第一种是按“商品目录”菜单一样的过程进行;第二种方法是直接为“商品目录”加速键引用“商品目录”菜单的资源索引号。其具体过程如下:(1)用鼠标右键单击“商品目录”加速键,出现一个快捷菜单。(2)在快捷菜单中选择“属性”,出现“商品目录”加速键按钮的属性设置对话框。(3)在属性设置对话框的资源列表框中选择对应的菜单索引
49、,如图8.22所示。图8.22 商品目录加速键与对应菜单这样即快速完成了加速键与菜单的对应,并可通过它调用“商品目录管理”对话框。8.9 其他对话框的制作在前面我们已经制作了一个“商品目录管理”对话框,还有6个方面的管理容的对话框需要制作,其中包括:“销售部门管理”对话框、“雇员管理”对话框、“订单管理”对话框、“代理管理”对话框、“客户管理”对话框、“国家名目管理”对话框。这6个对话框的制作过程完全可以采用与“商品目录管理”对话框一样的制作方法进行,因此我们不再重复6次地进行描述了。我们用一个总表来概括这7个对话框的类创建、类声明、数据源控件设置和数据表控件设置(表8.19)然后列出主对话框
50、的实现文档供读者参考,它包含了类的声明、进程代码等等容,这样可以起到事半功倍的作用。8.9.1 对话框制作参考表在工程中,七个对话框的类、声明、数据源与数据表控件的创建请参考表8.19。表8.19 七个对话框的类、声明、数据源与数据表设置参考“商品目录管理”对话框类名与声明数据源数据表CSpmlDlgIDC_ADODCSPMLIDC_DATAGRIDI# includeSpmlDlg.h属性属性容属性属性容IDIDC_ADODCSMLIDIDC_DATAGRIDI显示YES显示YES标题商品目录标题商品目录编辑查询表格ConnectionStringDSN=商品销售数据源DataSourceI
51、DC_ADODCSPMLRecordJSource商品目录AllowAddNewTrueCommandType2-Table CommandTypeAllowArrowsTrueAllowDeleteTrueAllowUpdateTrue“部门管理”对话框类名与声明数据源数据表CBmglDlgIDC_ADODCBMGLIDC_DATAGRIDI# includeBmglDlg.h属性属性容属性属性容IDIDC_ADODCBMGLIDIDC_DATAGRIDI显示YES显示YES标题部门管理浏览查询标题销售部门编辑查询ConnectionStringDSN=商品销售数据源DataSourceID
52、C_ADODCBMGLRecordSource销售部门AllowAddNewTrueCommandType2-Table CommandTypeAllowArrowsTrueAllowDeleteTrueAllowUpdateTrue“雇员管理”对话框类名与声明数据源数据表CGygldlgIDC_ADODCGYGLIDC_DATAGRIDI# includeGyglDlg.h属性属性容属性属性容IDIDC_ADODCGYGLIDIDC_DATAGRIDI显示YES显示YES标题雇员浏览查询标题雇员编辑表格ConnectionStringDSN=销售管理数据源DataSourceIDC_ADOD
53、CGYGLRecordSource雇员AllowAddNewTrueCommandType2-Tanle CommandTypeAllowArrowsTrueAllowDeleteTrueAllowUpdateTrue“订单管理”对话框类名与声明数据源数据表CDdglDlgIDC_ADODCDDGLIDC_DATAGRIDI# includeDdglDlg.h属性属性容属性属性容IDIDC_ADODCDDGLIDIDC_DATAGRIDI显示YES显示YES标题订单浏览查询标题订单编辑表ConnectionStringDSN=商品销售数据源DataSourceIDC_ADODCDDGLReco
54、rdSource订单AllowAddNewTrueCommandType2-Table CommandTypeAllowArrowsTrueAllowDeleteTrueAllowUpdateTrue“代理管理”对话框类名与声明数据源数据表# includeDlglDlg.hIDC_ADODCDLGLIDC_DATAGRIDI属性属性容属性属性容IDIDC_ADODCDDGLIDIDC_DATAGRIDI显示YES显示YES标题学术论文浏览查询标题学术论文编辑表ConnectionStringDSN=商品销售数据源DataSourceIDC_ADODCDLGLRecordSource零售商Al
55、lowAddNewTrueCommandType2-Table CommandTypeAllowArrowsTrueAllowDeleteTrueAllowUpdateTrue“客户管理”对话框类名与声明数据源数据表CKhglDlg# includeKhglDlg.hIDC_ADODCKHGLIDC_DATAGRIDI属性属性容属性属性容IDIDC_ADODCDDGLIDIDC_DATAGRIDI显示YES显示YES标题客户浏览查询标题客户编辑表ConnectionStringDSN=商品销售数据源DataSourceIDC_ADODCKHGLRecordSource客户AllowAddNew
56、TrueCommandType2-Table CommandTypeAllowArrowsTrueAllowDeleteTrueAllowUpdateTrue“国家名目管理”对话框类名与声明数据源数据表CGjmmDlgIDC_ADODCGJMMIDC_DATAGRIDI# includeGjmmDlg.h属性属性容属性属性容IDIDC_ADODCGJMMIDIDC_DATAGRIDI显示YES显示YES标题国家名目浏览查询标题国家名目编辑表ConnectionStringDSN=商品销售数据源DataSourceIDC_ADODCCGJMMRecordSource客户AllowAddNewTr
57、ueCommandType2-Table CommandTypeAllowArrowsTrueAllowDeleteTrueAllowUpdateTrue读者在制作后面几个对话框时可以结合以下的总表加以实施。8.9.2 主控界面的实现文件最后我们列出工程主对话框IDD_MainDlg的实现文件,我们制作的一切的对话框几乎均是通过主对话框进行控制的,因此该对话框的实现文件几乎包含了后面制作的对话框的全部容,包括菜单过程和中速键过程的一切代码。了解对话框或工程的实现的文件,对于学习运用VC+是大有好处的。/MainDlg.cpp : implementation file# include std
58、afx.h# include 商品销售管理系统.h# include MainDlg.h # include SpmlDlg.h# include BmglDlg.h# include GyglDlg.h# include DdglDlg.h# include DlglDlg.h# include KhglDlg.h# include GjmmDlg.h# ifdef _DEBUG# define new DEBUG_NEW# undef THIS_FILEStatic char THIS_FILE =_FILE_; # endif / / / / / / / / / / / / / / /
59、/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / CMainDlg dialog CMainDlg:CMainDlg (CWnd* pParent /*=NULL*/) : CDialog (CMainDlg:IDD, pParent) / AFX_DATA_INIT(CMainDlg)/NOTE: the ClassWizard will add member initialization here / AFX_
60、DATA_INIT Void CMainDlg:DoDoataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); / AFX_DATA_MAP(CMainDlg)/NOTE:the ClassWizard will add DDX and DDV calls here /AFX _DATA_MAPBEGIN_MESSAGE_MAP(CMainDlg, CDialog)/AFX_MSG_MAP(CMainDlg)ON_COMMAND(ID_Menu_SPML, OnMenuSPML)/ON_BN_CLICKED(IDC_BUTTON
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年环境友好型清洁生产技术服务合同
- 2024年阳光房装修合同模板
- 人防门安装工程施工合同
- 工程项目分包商合同书
- 二手机械设备买卖协议范本
- 权威学校联合办学协议书
- 装修材料购买合同2024年
- 夫妻协议书常见问题解答
- 学生安全管理协议
- 人事派遣代理协议
- 素养本位下的高中数学大单元整体教学设计实践研究
- 温泉设计方案方案
- 四年级美术 《飞天》【全国一等奖】
- 实现中国梦必须弘扬中国精神
- 2024年国能包神铁路集团有限责任公司招聘笔试参考题库含答案解析
- 2024年天翼云运维工程师认证考试复习题库(含答案)
- 2023年烟台工程职业技术学院辅导员招聘考试真题
- 设备确认函格式范文
- 大数据金融与风险管理的智能化应用与发展趋势
- 学校体育场馆运营方案
- 儿童海洋知识讲座
评论
0/150
提交评论