VC++实训报告.doc_第1页
VC++实训报告.doc_第2页
VC++实训报告.doc_第3页
VC++实训报告.doc_第4页
VC++实训报告.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程学院可视化程序设计VC+实训报告20122013学年第二学期班 级:姓 名:学 号:专 业:指导教师:实训题目可视化程序设计VC+实训时间9月17日-9月28日实训地点一、 实训目的:1、 检查学生该学期对VC+的控件运用的熟练程度。2、 检查学生对VC+的消息以及消息处理函数的理解。3、 检查学生对VC+的对话框资源的添加及处理。4、 检查学生对VC+绘图的掌握程度。5、 检查学生对VC+的MCI编程的掌握程度。二、 实训要求:1、 要求每一个学生都能熟练地编辑、调试程序,熟悉开发环境编译运行程序的操作步骤。2、 实训期间不能旷课,旷课一次扣5分,进行严肃处理。3、 实训期间不能看电影、打游戏、上网等等,与实训无关的事情。4、 实训期间,每天认真完成老师布置的实训作业。5、 完成整个实训以后,要求每人写出实训报告。作为评定整个实训的重要参考依据。三、实训内容(过程、步骤、结果等):(宋体小四,行距1.5倍,需加图片)第一步:分析题目,根据题目要求写出解题思路,列出解题步骤。第二步:在开始-“程序”菜单中找到“Microsoft Visual C+”单击打开,进入VC+运行环境。第三步:新建项目。单击“文件”“新建”,在“工程”选项卡中选择“MFC AppWizard(exe)”项。输入工程名,选择保存路径,单击“确定”。在弹出的应用向导中选择的应用类型是“单文档(S)”,由于后面的都是默认所以直接单击“完成” 如图:第四步:打开ResourceView选项卡中的“Menu”双击“IDR_MAINFRAME”,在查看下拉列表中添加“考试成绩”项,修改其ID。第五步:进入ResourceView选项卡,右键单击“Dialog”选择“插入Dialog”。将“取消”按钮删除,“确定”按钮改为“退出”,添加控件,效果如图:第六步:给该对话框添加对应的类,类名为CExamInfo。如下图所示为控件添加变量。添加如下成员变量:控件ID号变量类型变量名IDC_EDIT1CStringm_NameIDC_EDIT2CStringm_NumberIDC_EDIT3CStringm_MajorIDC_EDIT4CStringm_ClassIDC_EDIT5CListCtrlm_listExam第七步:为列表框控件初始化代码如下:CDialog:OnInitDialog();DWORD dwStyle = :GetWindowLong(m_listExam.m_hWnd,GWL_STYLE);SetWindowLong(m_listExam.m_hWnd,GWL_STYLE,dwStyle|LVS_REPORT|LVS_NOLABELWRAP| LVS_SHOWSELALWAYS); m_listExam.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); m_listExam.InsertColumn(0,姓 名,LVCFMT_LEFT,100);m_listExam.InsertColumn(1,学 号,LVCFMT_LEFT,100); m_listExam.InsertColumn(2,专 业,LVCFMT_LEFT,100);m_listExam.InsertColumn(3,年 级,LVCFMT_LEFT,100); m_listExam.InsertColumn(4,电 话,LVCFMT_LEFT,100); 第八步:为“添加记录”Button1添加代码如下:UpdateData();m_listExam.InsertItem(indexofList,m_Name); m_listExam.SetItemText(indexofList,1,m_xuehao);m_listExam.SetItemText(indexofList,2,m_Math);m_listExam.SetItemText(indexofList,3,m_Chinese);m_listExam.SetItemText(indexofList,4,m_English);indexofList+=1;为删除记录Button2添加代码如下:int index=m_listExam.GetNextItem(-1,LVNI_SELECTED); if(index!=-1) m_listExam.DeleteItem(index); m_Name=; m_xuehao=; m_Math=; m_Chinese=; m_English=; UpdateData(FALSE);第九步:为退出Button3按钮添加代码如下:OnOK();第十步:.添加背景图片。添加代码如下:CSssDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP1);BITMAP bm;bmp.GetObject(sizeof(BITMAP),&bm);CDC dcMem;dcMem.CreateCompatibleDC(pDC);CBitmap *pOldbmp=dcMem.SelectObject(&bmp);pDC-BitBlt(100,10,bm.bmWidth,bm.bmHeight,&dcMem,0,0,SRCCOPY);dcMem.SelectObject(pOldbmp); 效果如图:最终效果图:第十一步:实现动态变幻的矩形。(1). 利用ClassWizard(或按Ctrl+W)将WM_PAINT消息映射到视图类(View)中如图:并添加下列代码:CPaintDC dc(this);CDC *pDC=GetDC(); CPen newPen; newPen.CreatePen(PS_SOLID,6,RGB(255,255,0);CBrush newBrush; /定义画刷对象newBrush.CreateSolidBrush(RGB(0,255,255);/绿色画刷 /将创建的画笔选入内存DC,同时暂时挤出并保存原画笔 CPen *poldpen=pDC-SelectObject(&newPen); /将创建的画刷选入内存DC,同时暂时挤出并保存原画刷 CBrush *poldbrush=pDC-SelectObject(&newBrush); CRect rectClient; /定义矩形对象GetClientRect(rectClient); /获得当前窗口客户区大小pDC-SetMapMode(MM_ANISOTROPIC);pDC-SetWindowExt(500,500); /设置窗口范围(大小)pDC-SetViewportExt(rectClient.right,-rectClient.bottom);/设置视口范围(大小)pDC-SetViewportOrg(rectClient.right/2,rectClient.bottom/2);/设置视口原点pDC-Rectangle(-100,-80,100,80); /恢复内存DC中原有的画笔 pDC-SelectObject(poldpen); /恢复内存DC中原有的画刷 pDC-SelectObject(poldbrush); /释放显示DCReleaseDC(pDC);编译运行结果如图:为学生信息OnScore()函数添加代码:void CSssView:OnScore() CInfor fo;fo.DoModal();/ TODO: Add your command handler code here.(2).方法同上,将WM_TIMER消息映射到视图类(View)中。void CMyView:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call defaultGetDC dc(this); OnPaint(&dc); /调用函数CView:OnTimer(nIDEvent);实现动态变幻的矩形,代码:for(x1=20,y1=1000;x1600;x1+=50,y1-=100)if(x1Rectangle(x1,x1,y1,y1)elsex1=20,y1=1000;四、实训总结与体会:通过两周的实,总体上收获是很大的,我们的VC+课程学到的只是VC+的皮毛,MFC的原理和使用方法刚开始不是很懂,在同学的帮助下,尽快熟悉掌握了MFC的操作。在实训的过程中也遇到了不少困难,通过查电子文档和看书,解决了问题, 总体的感觉是对可视化VC+有了一个全新的认识,在整个实训过程中我也尝试过做一个小的画图软件。但是由于时间关系还有一个是自身的知识的欠缺,最终这个事情被搁浅下来了。实训的时间不长,但是我会在课外把它们的功能完善。在学习的过程中也体会到,遇到问题也要请教。不然的话自己一个人去做的话会花很多的时间,在做题的过

温馨提示

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

评论

0/150

提交评论