关闭

关闭

关闭

封号提示

内容

首页 windows编程实验报告.doc.doc

windows编程实验报告.doc.doc

windows编程实验报告.doc.doc

上传者: 孙思睿 2017-10-16 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《windows编程实验报告.docdoc》,可适用于综合领域,主题内容包含windows编程实验报告doc院系:计算机科学学院专业:计算机科学与技术年级:级课程名称:windows编程组员:蓝森智()辛金良()李龙龙()指符等。

windows编程实验报告doc院系:计算机科学学院专业:计算机科学与技术年级:级课程名称:windows编程组员:蓝森智()辛金良()李龙龙()指导教师:程鹏年月日年学号级一()班号专计算机科学与技术姓名蓝森智辛金良李龙龙业实设计型综合型创新型验实验模态和非模态对话框的建立名类型称实验实验目的:使用MFC实现模态和非模态对话框。目要求:的理解模态和非模态对话框的原理和区别。或掌握使用MFC实现模态和非模态对话框的步骤和方法。要求使用MFC实现模态对话框)使用应用程序创建基于对话框的MFC程序。)使用资源编辑器在主界面添加一个按钮“IDCCREATEDIALOG”用来创建模态对话框。)在“资源视图”中添加一个对话框ID为“IDDMODALDIALOG”)为“IDCCREATEDIALOG”添加基于CDialog类的CMyModalDialog类。)为“IDCCREATEDIALOG”添加响应。代码如下:CMyModalDialogdlg实dlgDoModal()验执行后效果下原理(算法流程)使用WinAPI实现模态对话框)使用应用程序向导创建基于对话框的MFC程序。)使用资源编辑器在主界面添加一个按钮“IDCCREATEDIALOG”来创建模态对话框。)在“资源视图”中添加一个对话框ID为“IDDMODALDIALOG”)定义对话框的消息处理过程如下:)为按钮“IDCCREATEDIALOG”添加消息响应。执行效果如下使用MFC实现非模态对话框)使用应用程序向导创建基于对话框的MFC程序。)使用资源编辑器在主界面添加一个按钮“IDCCREATEDIALOG”用来创建模态对话框。)在“资源视图”中添加一个对话框ID为“IDDNOMODALDIALOG”。)为“IDCCREATEDIALOG”添加基于CDialog类的CMyNoModalDialog类。)为“IDCCREATEDIALOG”添加响应。代码如下:执行后可以创建多个非模态窗口也可以把程序的焦点切回到父窗体。效果如下。使用WinAPI实现非模态对话框)使用应用程序向导创建基于对话框的MFC程序。)使用资源编辑器在主界面添加一个按钮“IDCCREATEDIALOG”用来创建模态对话框。)在“资源视图”中添加一个对话框ID为“IDDNOMODALDIALOG”。)定义对话框的消息处理过程代码方法与实现模态对话框相似。)为“IDCCREATEDIALOG”按钮添加响应代码如下:执行效果如下:组内分工无(可选)实验结果分析及心得体会心得体会:了对话框模态对话框、非模态对话框、属性对话框(多页面切换、向导对话框)、通用对话框(打开文件、另存为对话框、字体对话框、颜色对话框)的基本原理、实现方法、简单编程实例。成绩评教师签名:定年月日年级学号级一()班号专计算机科学与技术姓名蓝森智辛金良李龙龙业实设计型综合型创新型验实验按钮控件的使用方法名类型称实验实验目的:熟练掌握使用按钮控件来响应用户界面的操作完成相应的功能。目要求:的掌握对各种按钮控件的使用。或掌握对各种按钮事件的响应。要求)在对话框编辑器中设计界面如下图。实验原理(算法流程)定义按钮控件对象。个单选按钮和个复选按钮分别被定义为:))初始化设置。)添加对“确定”按钮的响应。实验原理(算法流程)组内分工无(可选)实验结果:实验结果分析及心得体会心得体会:通过本次实验我掌握了MFC中各个按钮控件的使用方法和如何使用这些控件完成一些特定的功能为今后的学习奠定了基础。成绩评教师签名:定年月日年级学号级一()班号专计算机科学与技术姓名蓝森智辛金良李龙龙业实设计型综合型创新型验实验处理鼠标消息和模拟鼠标消息名类型称实实验目的:熟练掌握鼠标消息的类型和鼠标消息的处理理解和掌握模拟鼠标消息的方验法。目要求:的熟悉对各种鼠标消息。或掌握对鼠标消息的模拟和处理。要求)建立MFC单文档应用程序实例的项目名为“MySingle”,框架会自动生成CMySingleApp类、CMainFrame类、CMySingleDoc类、CMySingleView类。)在CMySingleDoc类中添加数据存储结构与操作方法。实验原理(算法)在CMySingleView中添加对WMREASEBKGND消息的响应删除背景绘制效果。流程))在CMySingleView::OnDraw函数中添加绘图功能代码如下。CMySingleView绘制voidCMySingleView::OnDraw(CDC*pDC){CSingleDoc*pDoc=GetDocument()ASSERTVALID(pDoc)if(!pDoc)returnTODO:在此处为本机数据添加绘制代码取得客户区域并转化为相对坐标CRectWndRectthis>GetWindowRect(WndRect)this>ScreenToClient(WndRect)CDCmdc内存DCCBitmapbmp临时位图为内存DC提供绘图环境CPenFramePen画矩形框使用画笔CPenPtPen画点时使用的画笔CBrushBkBrush背景画刷灰色CBrushPtBrush画点用的画刷红色初始化GDI对象mdcCreateCompatibleDC(pDC)bmpCreateCompatibleBitmap(pDC,WndRectWidth(),WndRectHeight())mdcSelectObject(bmp)FramePenCreatePen(PSSOLID,,RGB(,,))实mdcSelectObject(FramePen)验BkBrushCreateSolidBrush(RGB(,,))原绘制灰色的背景区域理mdcFillRect(WndRect,BkBrush)(绘制矩形区域算intwidth=MAXXNUM*GRIDSIZE,height=MAXYNUM*GRIDSIZE法mdcRectangle(STARTPOSX,STARTPOSY,widthSTARTPOSX,heightSTARTPOSY)流PtPenCreatePen(PSSOLID,,RGB(,,))程mdcSelectObject(PtPen))PtBrushCreateSolidBrush(RGB(,,))mdcSelectObject(PtBrush)枚举CMySingleDoc类中的点集数据inti,jfor(i=i<MAXXNUMi){for(j=j<MAXYNUMj){检测指定点的状态如果为TRUE则在指定位置绘制红点if(pDoc>GetGridStatus(i,j)){intx=STARTPOSXGRIDSIZE*iinty=STARTPOSYGRIDSIZE*jmdcEllipse(x,y,xGRIDSIZE,yGRIDSIZE)}}}把内存DC绘制到屏幕DCpDC>BitBlt(,,WndRectWidth(),WndRectHeight(),mdc,,,SRCCOPY)删除临时GDI对象bmpDeleteObject()FramePenDeleteObject()PtPenDeleteObject()BkBrushDeleteObject()PtBrushDeleteObject()mdcDeleteDC()})在CMySingleView中添加对WMLBTTONUP消息的响应。voidCMySingleView::OnLButtonUp(UINTnFlags,CPointpoint){if(pointx<STARTPOSX||pointx>=STARTPOSXGRIDSIZE*MAXXNUM)returnif(pointy<STARTPOSY||pointy>=STARTPOSYGRIDSIZE*MAXYNUM)实return验CSingleDoc*pDoc=GetDocument()原if(pDoc)理{(intx=(pointxSTARTPOSX)GRIDSIZE算inty=(pointySTARTPOSY)GRIDSIZE法pDoc>SetGrid(x,y)流pDoc>SetModifiedFlag()程this>Invalidate(FALSE))})在CMySingleDoc实现文档串行化代码如下。CMySingleDoc序列化voidCMySingleDoc::Serialize(CArchivear){if(arIsStoring()){for(inti=i<MAXXNUMi){for(intj=j<MAXYNUMj)ar<<this>gridij}}else{for(inti=i<MAXXNUMi){for(intj=j<MAXYNUMj)ar>>this>gridij}}}组内分工无(可选)实验结果:实验结果分析及心得体会心得体会:通过本次实验我掌握了MFC中各个按钮控件的使用方法和如何使用这些控件完成一些特定的功能为今后的学习奠定了基础。成绩评教师签名:定年月日

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/16
0下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部