物流管理系统毕业设计基于和编写

上传人:枕*** 文档编号:145527920 上传时间:2022-08-29 格式:DOCX 页数:42 大小:744.03KB
收藏 版权申诉 举报 下载
物流管理系统毕业设计基于和编写_第1页
第1页 / 共42页
物流管理系统毕业设计基于和编写_第2页
第2页 / 共42页
物流管理系统毕业设计基于和编写_第3页
第3页 / 共42页
资源描述:

《物流管理系统毕业设计基于和编写》由会员分享,可在线阅读,更多相关《物流管理系统毕业设计基于和编写(42页珍藏版)》请在装配图网上搜索。

1、XX大学毕业设计论文物流管理系统基于Visual C+ 6.0+SQL Server 2000朋友闲置的毕业设计,有需要购买请联系。全套的,包括:软件源代码+数据库+论文(42页)+软件说明书(30页)。代码可根据自己的需要从源代码中粘贴进论文,保证页数需求O(_)O年月日目录物流管理系统目录摘要0 引言2 总体设计2.1 项目规划2.2 系统功能结构2.3 系统功能概述3.2 开发及运行环境3.3 数据库设计4 主要功能模块设计4.1 构建应用程序框架4.2 封装数据库4.3 主窗口设计4.4 基础信息基类4.4 持扫描仪辅助录入功能业务类4.5 业务类4.6 业务查询类4.7 统计汇总类4

2、.8 审核类4.9 派车单写IC卡模块4.10 配送申请模块附录A 参考文献附录B 数据表摘要【摘要】伴信息时代的到来,使社会的各个行业领域都发生了巨大的变化,物流业也在时代大背景的影响之下,整个行业朝着信息化方向发展。有效整合业内资源,使个体的、单一的企业物流运输,还是集团化的大企业都朝着高效、可持续发展的方向发展。作为物流行业的主体,物流集团性质的企业在跟随整个行业的对企业发展方向进行整体调整的同时,对企业内部的一系列资源等也进行全面的整合,而企业管理成为在整合、调整过程中主要调整对象。作为物流企业的管理者,早已充份的认识到管理在企业整个企业运作过程中的重要性,通过计算机管理系统对企业进行

3、管理,解决传统管理方法中运作节奏和企业内部资源不能及时作出匹配和调整的问题,进而对企业内物流设施、物流资源等进行更有效的管理,统一按排,降低企业资源的闲置与浪费;大大的提高了企业资源的利用率,减轻管理者的劳动强度,适应现代物流运作的需要,进而提高企业的工作效率和经济效益。从国内外物流节点管理经验看,一个完善的信息管理系统是检验企业物流管理能否适应现代物流发展的最基本条件。【关键词】物流管理系统0 引言通过计算机对物流企业运作的全过程进行全面、效的管理,解决了经营过程中,客户需求和企业资源不能有效协调与统一按排的问题,减少了管理者的工作量,大大提高了企业的工作效率和经济效益,满足了信息时代物流企

4、业管理、发展的需求,成为物流企业适应时代发展中企业管理者必不可少的管理工具。1 系统需求分析根据物流企业日常管理的需要,要求系统具有以下功能:q 具有商品信息、往来单位信息、员工信息、仓库信息等基础信息的管理和维护功能。q 全面实用的销售信息管理功能。q 全面实用的库存信息管理功能。q 对有配送、运输、报关的全过程进行有效、全面的管理。q 通过管理系统对企业内部的数据进行分析,以帮助企业及时作出正确的决策。q 设置系统日常维护功能q 设置职工培训管理模块。2 总体设计2.1 项目规划根据需求分析,设计系统框架。物流综合管理系统由基础信息管理、销售管理、仓储管理、配送管理,运输管理,报关管理,决

5、策管理,系统管理、职员培训等9部分组成。设计各部分具体功能如下:q 基础信息管理模块基础信息管理模块包括商品信息维护、往来单位信息、员工信息维护和仓库信息维护4部分。q 销售管理模块销售管理模块由销售开票、销售结款、未付款查询、销售查询4部分组成。q 仓储管理模块仓储管理模块主要由出库管理、入库管理、库内移动、库存盘点、库存查询、商品库存报表6部分组成。q 配送管理模块配送管理模块包括配送申请、配送审核、配送查询、配送管理、配送反馈信息维护5个部分。q 运输管理模块运输管理模块由车辆资料维护、驾驶员信息维护、派车单写ID卡、派车回厂4部分构成。q 报关管理模块报关管理模块由报关单管理、备案清单

6、管理、报关单审核、三检管理、查验管理、通关管理、报关过程监控7部分构成。q 决策管理模块决策管理模块由商品入库排行分析、商品出库排行分析、运输工作量分析、客户信用度分析4部分构成。q 系统管理模块系统管理模块由数据管理、系统初始化、公司设置、操作员信息维护、权限设置5个部分组成。q 职员培训模块职员培训模块包括视频讲座1个部分。2.2 系统功能结构物流综合管理系统的功能结构如图1所示。图1 物流综合管理系统功能结构图2.3 设计目标物流综合管理系统主要帮助物流企业完成进、销、存一体化信息管理,并配有完善的配送、运输、报关、决策等功能。通过本系统可以达到以下目标:q 系统运行稳定,安全可靠。q

7、界面设计美观,人机交互界面友好。q 信息查询灵活、方便、快捷、准确,数据存储安全可靠。q 满足键盘和鼠标的双重操作,完全支持回车键。q 信息安全保密。q 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。q 数据保密性强,为每个用户设置相应的权限级别。3 系统设计3.1 开发及运行环境q 系统开发平台:Visual C+ 6.0q 数据库管理系统软件:SQL Server 2000q 运行平台:Windows xp/Windows 2000q 显示像素:最低800*600,最佳效果1024*768。3.2 数据库设计1数据库概要说明针对物流综合管理系统欲完成的功能,采用SQL S

8、erver2000作为后端数据库,数据库命名为“wlzhglxt”,整个系统共使用了38张数据表。包括:销售退货查询、销售退货明细表、销售退货明细表查询、销售退货信息表、销售查询、销售明细表、销售明细查询、销售排行汇总、销售排行、销售信息表、银行信息表、退货返厂表、退货返厂查询、退货返厂明细表、退货返厂明细查询、进货查询、进货明细表、进货明细查询、进货信息表、调货明细表、调货信息表、计量单位表、系统设置表、盘点查询、盘点信息表、操作员信息表、操作员信息查询、往来类型表、往来单位信息表、往来单位信息查询、库存查询、库存信息表、商品信息表、商品信息查询、员工信息表、仓库信息表、仓库信息查询。图2所

9、示,即为本系统中数据库中的数据表结构图,该数据表结构图中包含系统所有数据表。 图2 数据库概要说明2数据表的结构数据库中的数据表请参见附录B。4 主要功能模块设计4.1 主窗口设计主程序界面是应用程序提供给用户访问其他功能模块的平台,根据实际需要,物流综合管理系统的主界面采用了传统的“菜单/工具栏/状态栏”风格。物流综合管理系统主程序界面如图3所示。图3 系统登录模块运行界面1菜单设计(1)单击“ResourceView”选项卡,右键单击“MyProject Resources”选项,选择“Insert”菜单项,打开“Insert Resource”窗口,如图4所示。图4 “Insert Re

10、source”窗口(2)选择“Menu”文件夹,单击“New”按钮,在WordGLXT Resources目录下新增一个Menu目录项,菜单ID为IDR_MENU1。双击此菜单,对此菜单项的属性进行设计。BEGIN POPUP 基础信息管理(&B) BEGIN MENUITEM 商品信息维护(&H) tF2, IDM_JCXX_HPXXWH MENUITEM 往来单位信息维护(&C), IDM_JCXX_WLDW MENUITEM 员工信息维护(&P), IDM_JCXX_YGXX MENUITEM 仓库信息维护(&S), IDM_JCXX_CKXX END POPUP 销售管理(&S) BE

11、GIN MENUITEM 销售开票(&S) tF3, IDM_XSGL_XSKP MENUITEM 销售结款(&C), IDM_XSGL_XSJK MENUITEM 未付款结款(&J), IDM_XSGL_WFKJK MENUITEM SEPARATOR POPUP 销售查询(&Q) BEGIN MENUITEM 销售开票查询(&S), IDM_XSGL_KPCX MENUITEM 销售结款查询(&C), IDM_XSGL_JKCX MENUITEM SEPARATOR MENUITEM 未付款查询(&N), IDM_XSGL_WFKCX END END POPUP 仓储管理(&C) BEGI

12、N POPUP 出库管理(&O) BEGIN MENUITEM 出库登记(&S) tF4, IDM_CCGL_CKDJ MENUITEM 出库审核(&A), IDM_CCGL_CKSH POPUP 出库统计查询(&Q) BEGIN MENUITEM 出库信息查询(&T), IDM_CCGL_CKHZCX MENUITEM 出库汇总报表(&W), IDM_CCGL_CKZBB END END POPUP 入库管理(&I) BEGIN MENUITEM 入库登记(&I) tF5, IDM_CCGL_RKDJ MENUITEM 入库审核(&A), IDM_CCGL_RKSH POPUP 入库统计查询

13、(&Q) BEGIN MENUITEM 入库信息查询(&T), IDM_CCGL_RKHZCX MENUITEM 入库汇总报表(&W), IDM_CCGL_RKZBB END END MENUITEM 库内移动(&M), IDM_CCGL_KNYD MENUITEM 库存盘点(&C), IDM_CCGL_KCPD MENUITEM 库存查询(&Q), IDM_CCGL_KCCX MENUITEM 商品库存报表(&W) tF6, IDM_CCGL_CCZBB END POPUP 配送管理(&P) BEGIN MENUITEM 配送申请(&P) tF7, IDM_PSGL_PSSQ MENUITE

14、M 配送审核(&A), IDM_PSGL_PSSH MENUITEM 配送查询(&Q), IDM_PSGL_PSCX POPUP 在途管理(&T) BEGIN MENUITEM 在途反馈(&C), IDM_PSGL_ZTFK MENUITEM 在途反馈查询(&Q) tF8, IDM_PSGL_ZTFKCX END MENUITEM 配送反馈信息维护(&R), IDM_PSGL_SHPJ END POPUP 运输管理(&T) BEGIN MENUITEM 车辆资料维护(&W), IDM_YSGL_CLZLWH MENUITEM 驾驶员信息维护(&J), IDM_YSGL_JSYGL MENUIT

15、EM 派车单写ID卡(&P), IDM_YSGL_PCDXICK MENUITEM 派车回场确认(&H) tF9, IDM_YSGL_HCQRGL END POPUP 报关管理(&A) BEGIN MENUITEM 报关单管理(&A), IDM_BGGL_BGDGL MENUITEM 备案清单管理(&B), IDM_BGGL_BAQD MENUITEM 报关单审核(&S), IDM_BGGL_BGDSH MENUITEM 三检管理(&E), IDM_BGGL_SJGL MENUITEM 查验管理(&C), IDM_BGGL_CYAGL MENUITEM 通关管理(&T), IDM_BGGL_T

16、GGL MENUITEM 报关过程监控(&J), IDM_BGGL_BGGCJK END POPUP 决策管理(&D) BEGIN MENUITEM 商品入库排行分析(&I), IDM_JCGL_RKPH MENUITEM 商品出库排行分析(&O), IDM_JCGL_CKPH MENUITEM 运输工作量分析(&F), IDM_JCGL_YSGZLFX MENUITEM 客户信誉度分析(&X), IDM_JCGL_KHXYDFX END POPUP 系统管理(&S) BEGIN POPUP 数据管理(&D) BEGIN MENUITEM 数据备份(&B) tF11, IDM_SJGL_SJB

17、F MENUITEM 数据恢复(&R), IDM_SJGL_SJHF END MENUITEM 系统初始化(&F), IDM_XTGL_XTCSH MENUITEM SEPARATOR MENUITEM 公司设置(&G), IDM_XTGL_GSSZ MENUITEM 操作员信息维护(&O), IDM_XTGL_CZYGL MENUITEM 权限设置(&S), IDM_XTGL_QXSZ END POPUP 注册(&R) BEGIN MENUITEM 软件注册(&R), IDM_ZC_RJZC END POPUP 职员培训(&X) BEGIN MENUITEM 视频讲座(&J)tF12, ID

18、M_ZYPX_SPJZ ENDEND2工具栏设计创建一个工具栏。效果如图5所示。图5 工具栏效果图(1)工具栏创建过程代码如下:this-SetIcon(m_hIcon,true);this-ShowWindow(SW_SHOWMAXIMIZED);this-ShowWindow(SW_HIDE);if (!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) |!m_ToolB

19、ar.LoadToolBar(IDR_MAINTOOLBAR)TRACE0(Failed to create toolbarn);return -1; / fail to createRepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);m_ToolBar.ShowWindow(SW_SHOW);(2)判断用户级别,根据级别显示工具栏按钮个数,为工具栏添加消息响应,代码如下。/判断用户rst.Open(操作员信息表);if(rst.GetRecordCount()1)MessageBox(用户您好!欢迎使用物流综合

20、管理系统,请在稍后弹出的操作员管理模块中添加一位系统管理员,这个管理员拥有最高权限,且不允许修改,请牢记!,系统提示,MB_OK|MB_ICONINFORMATION);PostMessage(WM_COMMAND,IDM_XTGL_CZYGL);/根据权限分配功能CString OPID;OPID=ado.FieldToOtherField(操作员信息表,用户名,OP,操作员编号,1);CString sSQL;sSQL.Format(SELECT * FROM 权限表 WHERE 操作员编号=%s,OPID);int nJCXX,nCKGL,nYSGL,nXSGL,nPSGL,nBGGL,

21、nXTGL,nJCGL;rst.Open(sSQL,adCmdText);if(rst.GetRecordCount()1)nJCXX=1;nCKGL=1;nYSGL=1;nXSGL=1;nPSGL=1;nBGGL=1;nXTGL=1;nJCGL=1;elsenJCXX=atoi(rst.GetFieldValue(基础信息);nCKGL=atoi(rst.GetFieldValue(仓库管理);nYSGL=atoi(rst.GetFieldValue(运输管理);nXSGL=atoi(rst.GetFieldValue(销售管理);nPSGL=atoi(rst.GetFieldValue(配

22、送管理);nBGGL=atoi(rst.GetFieldValue(报关管理);nXTGL=atoi(rst.GetFieldValue(系统管理);nJCGL=atoi(rst.GetFieldValue(决策管理);CString sCondition8;if(nJCXX=0)sCondition0=基础信息管理(&B);if(nXSGL=0)sCondition1=销售管理(&S);if(nCKGL=0)sCondition2=仓储管理(&C);if(nPSGL=0)sCondition3=配送管理(&P);if(nYSGL=0)sCondition4=运输管理(&T);if(nBGGL

23、=0)sCondition5=报关管理(&A);if(nJCGL=0)sCondition6=决策管理(&D);if(nXTGL=0)sCondition7=系统管理(&S);/计算出快捷按钮各数int nCount=0;if(nJCXX!=0)nCount=nCount+1;if(nXSGL!=0)nCount=nCount+1;if(nCKGL!=0)nCount=nCount+3;if(nPSGL!=0)nCount=nCount+2;if(nYSGL!=0)nCount=nCount+1;if(nXTGL!=0)nCount=nCount+1; int pIDArray15;int n

24、Cur=0;if(nJCXX!=0)pIDArraynCur=IDM_JCXX_HPXXWH;nCur+;if(nXSGL!=0)pIDArraynCur=IDM_XSGL_XSKP;nCur+;if(nCKGL!=0)pIDArraynCur=IDM_CCGL_CKDJ;pIDArraynCur+1=IDM_CCGL_RKDJ;pIDArraynCur+2=IDM_CCGL_CCZBB;nCur=nCur+3;if(nPSGL!=0)pIDArraynCur=IDM_PSGL_PSSQ;pIDArraynCur+1=IDM_PSGL_ZTFKCX;nCur=nCur+2;if(nYSGL!=

25、0)pIDArraynCur=IDM_YSGL_HCQRGL;nCur+;if(nXTGL!=0)pIDArraynCur=IDM_SJGL_SJBF;nCur+;pIDArraynCur=IDM_ZYPX_SPJZ;nCur+;m_ToolBar.SetButtons(const unsigned int *)&pIDArray,nCur); int iImage; UINT nID,nStyle;for(i=0;imessage=WM_KEYDOWN)CString OPID;OPID=ado.FieldToOtherField(操作员信息表,用户名,OP,操作员编号,1);CString

26、 sSQL;sSQL.Format(SELECT * FROM 权限表 WHERE 操作员编号=%s,OPID);int nJCXX,nCKGL,nYSGL,nXSGL,nPSGL,nXTGL;RxRecordset rst;rst.Open(sSQL,adCmdText);if(rst.GetRecordCount()wParam=VK_F2 & nJCXX!=0)PostMessage(WM_COMMAND,IDM_JCXX_HPXXWH);if(pMsg-wParam=VK_F3 & nXSGL!=0)PostMessage(WM_COMMAND,IDM_XSGL_XSKP);if(pM

27、sg-wParam=VK_F4 & nCKGL!=0)PostMessage(WM_COMMAND,IDM_CCGL_CKDJ);if(pMsg-wParam=VK_F5 & nCKGL!=0)PostMessage(WM_COMMAND,IDM_CCGL_RKDJ);if(pMsg-wParam=VK_F6 & nCKGL!=0)PostMessage(WM_COMMAND,IDM_CCGL_CCZBB);if(pMsg-wParam=VK_F7 & nPSGL!=0)PostMessage(WM_COMMAND,IDM_PSGL_PSSQ);if(pMsg-wParam=VK_F8 & n

28、PSGL!=0)PostMessage(WM_COMMAND,IDM_PSGL_ZTFK);if(pMsg-wParam=VK_F9)PostMessage(WM_COMMAND,IDM_YSGL_HCQRGL);if(pMsg-wParam=VK_F11 & nXTGL!=0)PostMessage(WM_COMMAND,IDM_SJGL_SJBF);if(pMsg-wParam=VK_F12)PostMessage(WM_COMMAND,IDM_ZYPX_SPJZ);return CDialog:PreTranslateMessage(pMsg);(2)添加状态栏,代码如下。m_Statu

29、sBar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,ID_STATUSBAR);int xpos=:GetSystemMetrics(SM_CXSCREEN);int width4;width1=xpos*0.2;width2=xpos*0.74;width3=xpos*0.86;width4=xpos;CString sText;sText=操作员:【+OP+】;m_StatusBar.SetParts(4,&width1);RxRecordset rst;4.2 基础信息基类1查询模块q 实现目标查询子模块可以完成的功能如下:l 支持按照

30、多字段、多条件查询。l 支持模糊查询。l 当用户双击表格中某记录时,调用编辑模块进行编辑。l 支持打印功能。查询子模块的运行界面如图6所示。图6 查询子模块的运行界面q 设计步骤向项目中添加一个新Dialog资源,资源ID为IDD_BASEQUERY。从Controls面板上向Dialog资源中添加2个Static、1个Edit、2个ComboBox、1个ListControl控件。q 代码分析(1) 根据模块所要完成的功能,抽象出CDBaseQuery的原型如下:class CDBaseQuery : public Cdialogpublic:CDBaseQuery(Cstring sCap

31、tion, /窗口标题Cstring sSQL,/SQL语句字符串Cstring sIdentify,/由程序自动生成的惟一标识字段名int nNumberStyle,/惟一标识字段的类型CWnd* pParent = NULL); / 构造函数protected:/AFX_MSG(CDBaseQuery)virtual void Init();/为子类提供的初始化虚函数/AFX_MSGDECLARE_MESSAGE_MAP()private:int m_NumberStyle;/惟一标识字段的类型Cstring m_Identify;/由程序自动生成的惟一标识字段名RxRecordset r

32、st;/记录集对象int m_CurrentRow;/当前行Cstring m_Caption;/对话框标题Cstring m_DateBaseName;/数据库名称;(2)当用户单击“查询”按钮时,根据用户选择的字段和条件进行查询:void CDBaseQuery:OnButquery() Cstring sSQL,sField,sEmblem,sCondition;this-m_ComField.GetWindowText(sField);this-m_ComEmblem.GetWindowText(sEmblem);this-m_EdtCondition.GetWindowText(sC

33、ondition);/判断查询字段的类型 if(m_ComField.m_CurrentFieldType=”数值型”)sSQL.Format(“SELECT * FROM (%s) DERIVEDTBL WHERE %s %s %s”,nm_DateBaseName,sField,sEmblem,sCondition);elseif(sEmblem!=”LIKE”)sSQL.Format(“SELECT * FROM (%s) DERIVEDTBL WHERE %s %s %s”,nm_DateBaseName,sField,sEmblem,sCondition);elsesSQL.Form

34、at(“SELECT * FROM (%s) DERIVEDTBL WHERE %s %s %s%”,nm_DateBaseName,sField,sEmblem,sCondition);rst.Open(sSQL,adCmdText);m_Grid.AddCellValue(rst);(3)当用户单击“打印”按钮时,通过全局变量m_ps设置打印结构:void CDBaseQuery:OnButprint() Cstring sCount;m_ps.MainCaptionFontSize=400;m_ps.DeckCaptionFontSize=180;Cstring sText;this-G

35、etWindowText(sText);sText=sText.Left(sText.GetLength()-4);sText=sText+”报表”;m_ps.MainCaption=sText;sCount.Format(“%d”,rst.GetRecordCount();m_ps.TotalNumber=1;m_ps.Totals0=”共计 “+sCount+” 条记录”;m_ps.Totals1=”;m_ps.Grid=&m_Grid;CmyApp* theApp;theApp=(CmyApp*):AfxGetApp();theApp-Print();/执行打印(4)当用户双击表格中某条

36、记录时,对选中记录进行编辑:void CDBaseQuery:OnDblclkGrid(NMHDR* pNMHDR, LRESULT* pResult) if(m_Grid.GetSelectionMark()=-1 & m_Grid.GetRows()0)return;CDBaseDlg dlg(&m_Grid,m_Identify,m_NumberStyle);/声明CDBaseDlg类对象dlg.DoModal();this-m_Grid.DeleteAllItems();RxRecordset rst;rst.Open(m_DateBaseName,adCmdText);this-m_

37、Grid.AddCellValue(rst);*pResult = 0;从上段代码中可以看出,m_Identify和m_NumberStyle这两个成员变量都是为CDBaseDlg类成员准备的。2辑子模块q 实现目标编辑子模块可以完成的功能如下:l 根据指定数据表中的内容动态生成界面。l 可以自动生成基础信息的惟一标识。l 完成添加、修改、复制、删除基础信息的功能。编辑子模块的运行界面如图7所示。图7 编辑子模块的运行界面q 设计步骤向项目中添加一个新Dialog资源,资源ID为IDD_BASE。从Controls面板上向Dialog资源中添加5个Button控件。q 代码分析(1)此模块的一

38、个难点就是怎样根据指定数据表中字段的不同动态生成界面。在程序中,笔者通过查询子模块中表格的列数来确定对象数组的长度,再通过处理对象数组实现动态地在对话框资源中显示编辑控件的数量。关键代码如下:BOOL CDBaseDlg:OnInitDialog() Cdialog:OnInitDialog();/根据表格信息创建窗口const int nCol=m_pGrid-GetCols();m_ColCount=nCol;/取出表头LVCOLUMN column;Cstring sColCaption;column.mask=LVCF_TEXT;column.pszText=sColCaption.G

39、etBuffer(sColCaption.GetLength();column.cchTextMax=20;/根据列数分配在表单上的位置/取出屏幕分辨率int xPix=:GetSystemMetrics(SM_CXSCREEN);int yPix=:GetSystemMetrics(SM_CYSCREEN);int nWidth,nHeight;nWidth=xPix/4;nHeight=(yPix-200)/(12+5);Crect rcSta,rcEdit;Cstring ColCaption;/分配空间pSta=new CstaticnCol;pEdt=new CbaseEditnCo

40、l;rcSta.left=12;rcSta.top=70+10;rcSta.right=rcSta.left+(nWidth*2/5);rcSta.bottom=rcSta.top+nHeight;rcEdit.left=rcSta.right;rcEdit.right=rcEdit.left+(nWidth*1/2);rcEdit.top=rcSta.top;rcEdit.bottom=rcSta.bottom;if(nCol=13)rcEdit.right=490;for(int I=0;IGetColumn(I,&column);ColCaption.Format(“%s:”,colum

41、n.pszText);/创建标签pStaI.Create(ColCaption,WS_CHILD,rcSta,this,WM_USER+I);pStaI.ShowWindow(SW_SHOW);/计算下一个标签位置if(I+1)%13=0)/每列最多显示13个rcSta.top=70+10;rcSta.bottom=rcSta.top+nHeight;rcSta.left=rcSta.left+nWidth-5;rcSta.right=rcSta.left+(nWidth*1/2);elsercSta.top=rcSta.bottom+5;rcSta.bottom=rcSta.top+nHei

42、ght;pEdtI.Create(WS_CHILD|WS_BORDER|WS_TABSTOP|ES_AUTOHSCROLL,rcEdit,this,WM_USER+100+I);pEdtI.ShowWindow(SW_SHOW);pEdtI.SetDlgCtrlID(i);pEdtI.SetReadOnly();/计算下一个文本框的位置if(I+1)%13=0) rcEdit.top=70+10;rcEdit.bottom=rcEdit.top+nHeight;rcEdit.left=rcEdit.left+nWidth-5;rcEdit.right=rcEdit.left+(nWidth*1

43、/2);elsercEdit.top=rcEdit.bottom+5;rcEdit.bottom=rcEdit.top+nHeight;/重新调整窗口大小Crect rcWnd,rcNewWindow;rcWnd.top=0;rcWnd.left=0;rcWnd.bottom=rcEdit.bottom+46;rcWnd.right=516;/居中显示rcNewWindow.left=xPix/2-rcWnd.Width()/2;rcNewWindow.right=rcNewWindow.left+rcWnd.Width();rcNewWindow.top=xPix/2-rcWnd.Heigh

44、t()/2-70;rcNewWindow.bottom=rcNewWindow.top+rcWnd.Height();if(nColMoveWindow(rcNewWindow);MoveButton(13,rcEdit.top);elsethis-ShowWindow(SW_SHOWMAXIMIZED);MoveButton(xPix-500,yPix-120);/设置窗口标题Cstring sCaption;this-GetParent()-GetWindowText(sCaption);sCaption=sCaption.Left(sCaption.GetLength()-4);this

45、-SetWindowText(sCaption+”维护”);m_DataBaseName=sCaption+”表”;/设置字符某些只允许输入数字RxRecordset rst;rst.Open(m_DataBaseName); for(I=0;IInvalidate();this-GetClientRect(&rcNewWindow);/调整标题区域大小this-m_StaTitle.MoveWindow(16,16,rcNewWindow.right-32,38,true);this-m_StaTitle.SetWindowText(sCaption+”维护”);Display();retu

46、rn TRUE; (2)现在,所有相关数据表中的字段在对话框中都会有一个对应的编辑框,通过Display成员函数将用户选择的记录添加到和编辑框中。void CDBaseDlg:Display()Cstring sItemValue;int nSelectMark=m_pGrid-GetSelectionMark();/ m_pGrid是指向查询子模块中表格对象的指针if(nSelectMark=-1)m_ButCommand4.EnableWindow(true);return;for(int I=0;IGetItemText(nSelectMark,I);pEdtI.SetWindowTex

47、t(sItemValue);/根据用户选择的列,将各字段内容添加到编辑框中(3)基础的准备工作制作完成,现在可以为程序增加编辑功能了。void CDBaseDlg:OnButnew() /新增Clear();/清空各编辑框的内容OnButcopy();void CDBaseDlg:Clear()/清空各编辑框内容for(int m=0;mm_ColCount;m+)pEdtm.SetWindowText(“”);void CDBaseDlg:OnButchange() /修改m_IsAdd=false;/记录用户执行的是添加操作还是修改操作,在保存时使用Enabled(true);void CDBaseDlg:OnButdele() /删除if(MessageBox(“确定要删除这条记录吗?”,”系统提示”,MB_OKCANCEL|MB_ICONQUESTION)!=1)return;Cstring sSQL,sID,sValue;pSta0.GetWindowText(sID);sID=sID.Left(sID.GetLength()-1);pEdt0.GetWindowText(sValue);RxRecordset rst;rst.Open(m_DataBaseName);Cstring sTyp

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!