第5章windows程序设计教案ppt课件.ppt

第5章windows程序设计教案ppt课件.ppt

ID:58699808

大小:1.36 MB

页数:107页

时间:2020-10-04

第5章windows程序设计教案ppt课件.ppt_第1页
第5章windows程序设计教案ppt课件.ppt_第2页
第5章windows程序设计教案ppt课件.ppt_第3页
第5章windows程序设计教案ppt课件.ppt_第4页
第5章windows程序设计教案ppt课件.ppt_第5页
资源描述:

《第5章windows程序设计教案ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章案例学习——绘图程序5.1最基本的绘图程序5.1.1内容学习菜单和工具栏按钮的创建过程;学习使用ClassWizard建立消息映射;学习基本的GDI函数的使用。5.1.2功能演示5.1.3设计思路首先从用户界面入手,完成相关菜单和工具栏的创建。为必要的消息和命令建立各自的处理函数。当用户按下鼠标左键准备画图时,程序需要记录当前鼠标坐标以当做图元的起点。当用户拖动鼠标时,程序需要不断修改图元的终点并及时画出橡皮条。当用户弹起鼠标左键时结束一次绘图操作。各个消息处理函数应该放在哪一个类里比较好呢?原则是哪里方便进行绘图操作就放在哪个类里。由于绘图是在客户区中进行的,客户区是用视图

2、来表示的,所以这些变量和函数都应该放在视图类中。另外要了解,鼠标消息处理函数接收的坐标是客户坐标,而绘图函数所使用的坐标都是逻辑坐标,本来是需要先进行转换才能绘图的,但因为此版本没有滚动功能,所以两套坐标实际是相同的,因此程序不需要进行坐标转换。5.1.4需要用到的MFC类和成员函数CClientDC——派生自CDC,封装了HDC,专门用于在客户区中绘图CDC::MoveTo()——将画笔移动到指定位置CDC::LineTo()——画一条直线到指定位置CDC::Rectangle()——在指定位置画一个矩形CDC::Ellipse()——在指定位置画一个椭圆CDC::SetROP2

3、()——设置绘图模式CDC::SelectStockObject()——选择库存的绘图工具对象5.1.5步骤使用向导创建一个MFC单文档界面的应用程序,其他设置保持不变创建下拉菜单和菜单项:ResourceView->Menu->双击打开->在最后的空白项中单击右键->Properties->在Caption中输入希望的下拉菜单名称,这里是“绘图”->回车或点击关闭按扭关掉Properties对话框->在“绘图”下拉菜单中的空白项中单击右键->Properties->在ID中输入便于记忆的标志符,例如直线为“ID_DRAW_LINE”->在Caption中输入希望的菜单项名称,例如

4、“直线”->在Prompt中输入“绘制直线直线”格式的提示->回车或点击关闭按扭关掉Properties对话框->以类似方法建立“矩形”和“椭圆”两个菜单项创建工具栏按钮:ResourceView->Toolbar->双击打开->单击最后的空白按扭->以绘图的方式创建“直线”的按扭,绘图工具和颜色在右边的工具栏中选择->双击画好的直线按扭,在ID中选择前面创建“直线”菜单项时指定的ID->回车或点击关闭按扭关掉对话框->以类似方法建立“矩形”和“椭圆”两个按扭添加菜单项的消息处理函数:View->ClassWizard->在Classname中选择自己的视图类->在Object

5、IDs中选择前面创建“直线”菜单项时指定的ID->在Messages中选择COMMAND->点击AddFunction按扭->在Messages中选择UPDATE_COMMAND_UI->点击AddFunction按扭->以类似方法建立“矩形”和“椭圆”两个菜单项的命令处理函数->点击OK按扭关闭ClassWizard对菜单项的消息处理函数进行编程:a.对COMMAND消息的处理函数进行编程:在这些函数里不需要进行绘图,只要让程序记录下用户选择了哪个图元。我们用一个整型变量来记录这个信息。由于菜单项的消息处理函数是视图类的成员函数,所以这个整型变量应该定义为视图类的成员变量。b.对

6、UPDATE_COMMAND_UI消息的处理函数进行编程:这个函数的调用时机是下拉菜单刚被拉下的时刻,作用是让我们对该用户界面部分进行特定的设置。这里我们通过判断决定是否在这个菜单项的前面打上勾。添加鼠标的消息处理函数:View->ClassWizard->在Classname中选择自己的视图类->在ObjectIDs中选择第一项,即自己的视图类的类名->在Messages中选择WM_LBUTTONDOWN->点击AddFunction按扭->在Messages中选择WM_LBUTTONUP->点击AddFunction按扭->在Messages中选择WM_MOUSEMOVE->点

7、击AddFunction按扭->点击OK按扭关闭ClassWizard对鼠标消息处理函数进行编程:a.对鼠标左键按下的消息处理函数进行编程:只需要告诉程序已经开始绘图了并记录下图元的起点即可。这个起点就是鼠标的当前点,也就是这个消息处理函数接收的第2个参数。另外,考虑到后面的鼠标移动消息处理函数中需要处理图元的终点,所以在这里也把终点初始化了。自己的代码结束后,应该调用基类的同名成员函数来做一些默认操作。b.对鼠标移动消息处理函数进行编程:在这个函数中要实现橡皮条。方

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。