鼠标程序设计.ppt_第1页
鼠标程序设计.ppt_第2页
鼠标程序设计.ppt_第3页
鼠标程序设计.ppt_第4页
鼠标程序设计.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、1,第6章 鼠标程序设计,本章主要内容: 鼠标消息处理 使用鼠标画点 使用鼠标画线,2,6.1 鼠标消息处理 鼠标是重要的输入设备。在Windows图形操作系统中,鼠标发挥了强大的威力,因而对它的控制与使用越来越受到用户的重视。Windows提供了统一的鼠标编程接口,该接口是对通过鼠标消息实现的。当用户移动鼠标,按下或释放鼠标按键时,都会触发鼠标消息。根据鼠标所在位置的不同,鼠标消息可以分为客户区鼠标消息和非客户区鼠标消息。,3,(1) 客户区鼠标消息 当用户移动鼠标通过应用程序窗口的客户区时,应用程序会接收一连串WM_MOUSEMOVE消息,这些消息不仅告诉应用程序鼠标在移动,还告诉应用程序

2、触发消息时鼠标的位置。 当鼠标移动到应用程序窗口的客户区外面时,应用程序则停止接收客户区鼠标消息,大部分应用程序不处理非客户区鼠标消息。,4,常用客户区鼠标消息 鼠标移动 WM_MOUSEMOVE 在客户区移动 鼠标左键 WM_LBUTTONUP 左键释放 WM_LBUTTONDOWN 左键 按下 WM_LIBUTTONDBCLK 鼠标双击 鼠标右键 WM_RBUTTONUP 右键释放 WM_RBUTTONDOWN 鼠标右键 按下 WM_RBUTTONDBCLK 鼠标右键双击,2,5,(2) 非客户区鼠标消息 在应用程序窗口中,除了客户区以外的部分都是非客户区,当鼠标通过非客户区时,就会触发与

3、客户区鼠标消息类似的非客户区鼠标消息,大部分应用程序不处理非客户区鼠标消息。 MFC把客户区鼠标消息的处理函数封装在CView类中,这些函数都是虚函数,其中常用的客户区鼠标消息处理函数如下: afx_msg void OnMouseMove(UINT nFlag, CPoint point); 鼠标消息处理函数原型中的nFlag表示按下的虚拟键,point 表示当前鼠标坐标。,6,(3) 加处理客户区鼠标消息方法的函数,4,7,(4) 编辑函数,5,8,修改函数如下:,6,9,鼠标和键盘组合的标志,point.x, point.y 为鼠标光标的坐标,7,MK_SHIFT 表示 shift+左键

4、,10,(5) 编译,运行 在客户区鼠标左键 按下时:, 处理鼠标左键消息代码的位置:(三处),8,11, 在头文件DrawView.h中,9,函数说明,12, 在文件DrawView.cpp中,消息映射宏,10,13, 在文件DrawView.cpp中定义函数体,11,14,Shift 键+鼠标组合,也可以 MK_CONTROL+鼠标组合,12,15,Shift 键与鼠标组合,13,16,6.2 使用鼠标画点,加成员变量,在Classview 击右键,14,17,双击看定义,15,18,双击看初始化,16,19,初始化,17,20,置画点壮态,18,21,置画点壮态,置色,19,22,20,

5、23,6.3 使用鼠标画线 处理的鼠标消息是: WM_LBUTTONDOWN 单击左键 WM_MOUSEMOVE 移动左键 WM_LBUTTONDOWN 单击左键 (1). 在DrawView 中添加两个标注线段起点坐标的整形变量及画线步数的整型变量。 m_nStartX x坐标 m_nStartY y坐标 m_nStep; 0 起点, 1 终点,21,24,右键,22,25,23,3变量,26,为变量赋初值:,双击,24,27,25,初值,28,修改成员函数:,26,29,27,30,编译运行:,28,也可改变笔的属性:,31,定模式及风格,29,32,编译运行:,橡皮线工作原理,30,33,加 WM_MOUSEMOVE 消息处理成员函数:,31,34,编辑函数:,32,35,添加记录终点坐标的成员变量:

温馨提示

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

评论

0/150

提交评论