




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学VC+程序设计课程考核大作业说明书目录一设计方案及功能描述1二实现步骤及主要程序代码11.添加并设计对话框12.完善Cqyjdlg类代码43.调用对话框7三 运行结果9四 总结及心得10一设计方案及功能描述本次作业要求设计一个商店日营业额输入(内容包括文字和数字)1.建立一个单文档的应用项目(项目名称为学生姓名拼音首字母缩写)。2.在该应用项目下,建立一个对话框进行商店日营业额输入,并更改对话框的标题。输入内容可以是商店名称、编号、4种商品的日营业额等。3.在对话框中要求采用编辑框、滚动条、滑动条等进行选择,其中一种商品日营业额采用编辑框,二种商品日营业额采用滚动条,一种商品日营业额采用滑动条进行输入。4.在应用项目主框架的菜单上设置一个菜单调用该对话框。5.在工具栏设置一个工具按钮,点击该工具按钮也可调用该对话框。6.将对话框的输入结果显示出来。二实现步骤及主要程序代码1.添加并设计对话框(1)启动Visual C+6.0(2)用MFC AppWizard(exe)创建一个基于对话框的单文档应用程序qyjqyj,如图2-1图2-1(a)图2-1(b)(3)在ResourceView界面,右击Dialog添加一个新的对话框资源。右键对话框,在属性界面将ID号改为IDD_DIALOG1,标题为“商店日营业额输入”,将对话框字体改为“仿宋,10号”,如图2-2图2-2(4)双击对话框资源,在MFC ClassWizard中为是对话框创建一个新类Cqyjdlg,如图2-3 图2-3(5)利用控件工具栏向对话框添加如下控件,调整控件的位置,如图2-4所示图2-4编辑框及滑动条的属性如表2-1添加的控件ID号标 题其他属性商店名编辑框IDC_EDIT_NAME默认商店编号编辑框IDC_EDIT_NO默认五花肉编辑框IDC_EDIT_Goods1默认糖醋排骨编辑框IDC_EDIT_Goods2默认可乐鸡翅编辑框IDC_EDIT_Goods3默认水晶猪蹄编辑框IDC_EDIT_Goods4默认水平滚动条1IDC_SCROLLBAR1默认水平滚动条2IDC_SCROLLBAR2默认滑动条IDC_SLIDER默认表2-12.完善Cqyjdlg类代码(1) 打开ClassWizard的Member Variables页面,查看Class name是否是Cqyjdlg,选中所需的控件ID号,双击鼠标,依次为下列控件增加成员变量,如图2-5图2-5(2) 打开MFC ClassWizard,在Message Maps页面中,为Cqyjdlg添加WM_INITDIALOG的消息映射,取默认的映射名称,如图2-6图2-6并添加下列代码:BOOL Cqyjdlg:OnInitDialog() / TODO: Add extra initialization hereCDialog:OnInitDialog();m_scroll1.SetScrollRange(0,10); /设置滚动条控件范围 m_scroll2.SetScrollRange(0,20); m_slider.SetRange(0,100); /设置滚动条控件范围 m_slider.SetTicFreq(1);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE(3)同样在MFC ClassWizard的Message Maps页面中,为Cqyjdlg增加WM_HSCROLL的消息映射,并添加下列代码:void Cqyjdlg:OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) int nID=pScrollBar-GetDlgCtrlID(); /获取对话框中控件ID号if(nID=IDC_SCROLLBAR1) /或是滚动条1的水平滚动消息 switch(nSBCode) case SB_LINELEFT: m_nGoods2-;break; /单击滚动条左边箭头case SB_LINERIGHT: m_nGoods2+;break; /单击滚动条左边箭头 case SB_PAGELEFT: m_nGoods2-=10;break;case SB_PAGERIGHT: m_nGoods2+=10;break;case SB_THUMBTRACK: m_nGoods2=nPos;break;if(m_nGoods2100) m_nGoods2=100;m_scroll1.SetScrollPos(m_nGoods2); if(nID=IDC_SCROLLBAR2) /或是滚动条2的水平滚动消息switch(nSBCode) case SB_LINELEFT: m_nGoods3-;break; /单击滚动条左边箭头 case SB_LINERIGHT: m_nGoods3+;break; /单击滚动条左边箭头 case SB_PAGELEFT: m_nGoods3-=10;break;case SB_PAGERIGHT: m_nGoods3+=10;break;case SB_THUMBTRACK: m_nGoods3=nPos;break;if(m_nGoods3100) m_nGoods3=100;m_scroll2.SetScrollPos(m_nGoods3); if(nID=IDC_SLIDER1) /或是滑动条的水平滚动消息 switch(nSBCode) case SB_LINELEFT: m_nGoods4-;break;case SB_LINERIGHT: m_nGoods4+;break;case SB_PAGELEFT: m_nGoods4-=10;break;case SB_PAGERIGHT: m_nGoods4+=10;break;case SB_THUMBTRACK: m_nGoods4=nPos;break;if(m_nGoods4100) m_nGoods4=100;m_slider.SetPos(m_nGoods4);UpdateData(FALSE); /将变量内容显示在控件中Invalidate(); /是对话框无效,强迫系统重绘对话框/ TODO: Add your message handler code here and/or call defaultCDialog:OnHScroll(nSBCode, nPos, pScrollBar);(4)为控件ID_OK添加映射函数,并添加下列代码void Cqyjdlg:OnOK() CString str,strctrl;str = 商店名称:;GetDlgItemText(IDC_EDIT_NAME,strctrl);str = str+strctrl;str = str+n商店编号:;GetDlgItemText(IDC_EDIT_NO,strctrl);str = str+strctrl;str = str+n五花肉营业额:;GetDlgItemText(IDC_EDIT_Goods1,strctrl);str = str+strctrl;str = str+n糖醋排骨营业额:;GetDlgItemText(IDC_EDIT_Goods2,strctrl);str = str+strctrl;str = str+n可乐鸡翅营业额:;GetDlgItemText(IDC_EDIT_Goods3,strctrl);str = str+strctrl;str = str+n水晶猪蹄营业额:;GetDlgItemText(IDC_EDIT_Goods4,strctrl);str = str+strctrl;MessageBox(str,营业额);/ TODO: Add extra validation here CDialog:OnOK();3.调用对话框(1)在菜单栏中新加一个菜单项“对话框”用来调用对话框,其ID号为IDD_DIALOG1,使得当在菜单栏中点击对话框,即显示新建的对话框。同样在工具栏中增加一个图标,将其ID号改为IDD_DIALOG1,使得在工具栏中点击设计的图标,也可显示调用的对话框。如图2-7 图2-7(2) 在MFC ClassWizard的Message Maps页面Class name列表框中选择CMainFrame,在IDs列表中选择ID_DIALOG1,在Messages框中找到并选择COMMAND,添加映射函数代码如下:void CMainFrame:OnDialog1() CCqyjdlg dlg; if(IDOK=dlg.DoModal() /获取对话框数据 CString str; str.Format(%s,%s,%4.1f,%d,%d,%d, dlg.m_strName, dlg.m_strNO, dlg.m_fGoods1, dlg.m_nGoods2, dlg.m_nGoods3, dlg.m_nGoods4); AfxMessageBox(str); / TODO: Add your command handler code here(3) 在文件MainFrm.cpp的前面添加Cqyjdlg类的头文件包含语句:#include stdafx.h#include qyj.h#include MainFrm.h#include Cqyjdlg.h(4) 编译运行并测试3 运行结果程序编译运行后单击菜单 “对话框”或工具栏中“”,即可弹出设计的对话框,对对话框进行编辑,单击确定,弹出输入信息窗口,如图3-1所示 图3-14 总结及心得通过此次课程设计,使我更加扎实的掌握了有关VC+方面的知识,在设计过程中,虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。 VC+诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲 道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我掌握了常用控件的用法,如单选框,复选框,编辑框,旋转按钮的添加。学会了用菜单调用对话框和工具栏调用对话框的方法,并初步学会了VC+的一些简单的编程。 我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力 上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。 回顾起此课程设计,至今我仍感慨颇多,从理论到实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度商用飞机引擎维修与技术支持合同
- 2024阳江市江城区岗列街道社区工作者招聘考试试题
- 2024韶关市乐昌市乐城街道社区工作者招聘考试试题
- 2026届内蒙古呼伦贝尔市阿荣旗一中化学高二第一学期期中考试试题含解析
- 2026届陕西咸阳武功县普集高级中学化学高一第一学期期中学业水平测试模拟试题含解析
- 2024重庆市渝北区石船镇社区工作者招聘考试试题
- 中医药现代化进程中拉丁美洲市场拓展策略研究报告
- 2025年执业兽医资格考试真题及答案
- 中级经济师考试(农业经济)习题库及答案
- Unit 1 Teenage Life 单元词汇学习检测(含答案)高中英语人教版必修第一册
- 检修案例-MR有载调压开关的吊芯检查全解课件
- 2023年国药控股股份有限公司招聘笔试题库及答案解析
- 现场处置方案现场应急处置方案(全套)
- 中国移动多功能厅多媒体系统方案
- 河道清淤施工方案(定稿)
- 石料场开采方案
- 2019三福百货品牌介绍51P
- 《安徒生童话》读书分享名著导读ppt
- 第1章制图基础-金大鹰
- 清欠工作管理制度管理办法
- 护理质量管理会议记录范文
评论
0/150
提交评论