欢迎来到天天文库
浏览记录
ID:44774683
大小:570.00 KB
页数:23页
时间:2019-10-28
《Windows编程实验报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用院系:计算机科学学院专业:软件工程年级:2012级课程名称:WINDOWS程序设计文档实用组员:王钟铭马明周亮指导教师:孙阳光2015年5月16日年级2012级学号 2012213651 20122136722012213684专业软件工程姓名王钟铭马明周亮实验名称 使用MFC实现GDI绘图实验类型设计型综合型创新型√实验目的或要求一:实验目的和要求:目的:图形设备接口(GDI),把应用程序的函数调用传递给图形设备驱动程序,由相关驱动程序来执行与硬件相关的函数。GDI向应用程序提供一个设备无关的编程,同时以设备相关的格式和具体的硬件设备交互。掌握在MFC中使用GDI进行绘图操作。要求:用
2、MFC使用GDI进行绘图操作。文档实用实验原理(算法流程图或者含注释的源代码)二:实验原理和步骤在MFC使用两类对象:(1)设备上下文对象(2)GDI对像。其中,主要用CClientDC和CPen来实现。主要有以下三个步骤:(1)定义数据结构类型和变量(2)初始化绘图信息(3)绘图过程的实现三:核心代码CDlg2::CDlg2(CWnd*pParent/*=NULL*/):CDialog(CDlg2::IDD,pParent){//{{AFX_DATA_INIT(CDlg2)//NOTE:theClassWizardwilladdmemberinitializationhere//}}AFX_
3、DATA_INIT}voidCDlg2::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CDlg2)//NOTE:theClassWizardwilladdDDXandDDVcallshere//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CDlg2,CDialog)//{{AFX_MSG_MAP(CDlg2)ON_WM_MOUSEMOVE()//}}AFX_MSG_MAPEND_MESSAGE_MAP()////CDlg2messagehandlers文档实
4、用实验原理(算法流程图或者含注释的源代码)voidCDlg2::OnMouseMove(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultoldp=point;CClientDCcdc(this);//定义客户区设备环境if(nFlags&MK_LBUTTON){CPenpen;pen.CreatePen(PS_SOLID,5,RGB(0,255,0));cdc.SelectObject(&pen);cdc.MoveTo(oldp.x,oldp.y);cdc.LineTo(point.x,p
5、oint.y);//绘制线段oldp=point;}CDialog::OnMouseMove(nFlags,point);}四:实验结果分析实验结果:文档实用实验结果分析及心得体会通过这次的实验,我学会了初步利用WINDOWS提供的图形设备借口GDA将图形显示到显示器上。本次实验的学习,加深了我对Windows编程中MFC中这两类对象的使用,掌握了新的技能,让我在今后的学习中对Windows中MFC的了解更加深刻。文档实用成绩评定教师签名:年月日年级2012级学号201221365120122136722012213684专业软件工程姓名王钟铭马明周亮实验名称使用MFC实现位图实验类型设计型综
6、合型创新型√文档实用实验目的或要求一:实验目的和要求:目的:掌握创建自定义位图控件。这是允许在每一种按钮状态下呈现不同的位图,这些状态包括:disabled,normal,mouseover,还有buttonpressed;除了按钮的图像,让我们的按钮饱含文本,并且根据按钮图片控制文本的对齐方式也很重要。按钮采用XP样式,还包含了我们定制的一些特性。要求:使用MFC实现位图。文档实用实验原理(算法流程图或者含注释的源代码)二:实验原理和步骤1.在内存条中创建位图对象。2.根据BITMAP结构在内存条中创建位图对象。3.创建与指定设备上下文兼容的位图的对象。4.从应用程序资源中加载位图对象,有两
7、种形式,可以根据资源名或资源ID加载。三:核心代码CDlg3::OnBnClickedButton1(){if(number<0){MessageBox("没有上一张了");number=1;return;}CRectwRect;this->GetWindowRect(&wRect);this->ScreenToClient(&wRect);CClientDCcdc(this);CDCmdc,Te
此文档下载收益归作者所有