计算机基础课程鼠标和键盘”

鼠标和键盘 鼠标消息的捕获 由于鼠标的随机性,用户可能在一个应用程序的窗口内按下鼠标左键,而移动到另一个应用程序的窗口内后释放鼠标左键。为使所有鼠标消息均定向到某一窗口,而不管鼠标光标位于何处,就必须对鼠标加以捕捉。Windows为了这个目的,声明了一个专门用来捕获鼠标消息的函数: CWnd * SetCapture(); 一旦某窗口捕捉了鼠标,其他窗口无法得到鼠标消息。因此,应用程序应该及时释放鼠标,以使鼠标可以按系统预定的正常方式发送消息,否则将使鼠标的一些正常作用失效(例如,当用鼠标单击窗口的关闭按钮时,程序将不能被关闭)。释放鼠标要使用下面的这个函数: BOOL ReleaseCapture(); 这两个函数都不带输入参数。 例1开发一个用鼠标绘图的程序,当按下鼠标左键后,移动鼠标可在窗口内绘图,松开鼠标左键后绘图结束。当按下鼠标右键后,移动鼠标可擦除窗口内的图形,松开鼠标右键后擦图结束。操作步骤如下。 ( l )用AppWizard生成框架代码 使用菜单File|New 创建一个新的工程,类型为MFC AppWizard( exe ) ,工程名称为Draw , 选择Single Document ,其余采用默认值。 ( 2 )用ClassWizard 添加消息处理函数 使用菜单View|ClassWizard调出ClassWizard,并打开Messase Maps 选项卡 显示键盘输入字符程序的实现方法 ●利用AppWizard向导生成项目名为MyWinKey的应用程序框架。 ●在应用程序框架中添加保存字符的数据成员(既可以利用向导添加,也可以手工添加)。 ●在应用程序框架中通过ClassWizard向导添加消息处理函数 。 ●编译并运行应用程序即可实现将键盘输入的字符在窗口客户区显示。 例3通过应用程序向导创建应用程序框架,并编写源代码使应用程能将键盘的输入信息在窗口客户区显示。为简单起见,可以不处理各种控制键和功能键,也不处理换行。 实现步骤如下: ⑴利用Appwizard向导生成项目名为MyKey的单文档应用程序框架。 使用菜单File|New 创建一个新的工程,类型为MFC AppWizard(exe ) ,工程名称为MyKey , 选择Single Document ,其余采用默认值。 ⑵在应用程序框架中添加数据成员。 文档类的主要功能是保存应用程序数据,并提供磁盘文件操作等,因此,数据成员应添加在文档类声明的头文件中,即在MyKeyDoc.h文件中定义数据成员m_MyText,用于保存字符数据。数据成员可以通过VC++提供的菜单添加数据成员,也可以找到相应文件以后手工添加。 * 鼠标处理程序 ●鼠标是一种得到广泛应用的定位输入设备。 ●通过鼠标的单击、双击和拖动功能,用户可以方便的操作Windows的图形界面应用程序。 ●Windows应用程序的鼠标消息,可以被任何窗口接受,只要鼠标移动到该窗口并有鼠标按键消息,该窗口就可以接受到鼠标消息,而与该窗口是否活动窗口或是否带有输入焦点没有关系。 ? 鼠标消息 ● windows操作系统通过鼠标驱动程序接受鼠标输入消息,由鼠标设备驱动程序捕捉Windows的任何鼠标事件。 ●当用户移动鼠标释放鼠标按键时,将产生鼠标消息。鼠标消息可以分为客户区鼠标消息和非客户区鼠标消息。 ●鼠标在窗口客户区移动时产生WM_MOUSEMOVE消息.鼠标在客户区产生的消息由Windows应用程序处理,而在窗口边界、菜单、标题栏和滚动条等非客户区产生的鼠标消息一般由Windows系统处理。 ? ●鼠标消息属于Windows消息,所以鼠标和键盘消息的消息响应函数只能放在窗口框架类和视图类中,作为窗口框架类和视图类的成员函数。 ●鼠标消息均可直接利用Visual C++6.0的ClassWizard向导添加鼠标消息处理函数 ●与鼠标消息对应的消息处理函数如下表所示。 消息处理函数 常用鼠标消息处理函数表 鼠标消息 消息处理函数 备注 WM_MOUSEMOVE void OnMouseMove(UINT nFlags,CPoint point) 鼠标移动 WM_LBUTTONDOWN void OnLButtonDown(UINT nFlags,CPoint point) 单击鼠标左键 WM_MBUTTONDOWN void OnMButtonDown(UINT nFlags,CPoint point) 单击鼠标中键 WM_RBUTTONDOWN void OnRButtonDown(UINT nFlags,CPoint point) 单击鼠标右键 WM_LBUTTON

大学课程计算机鼠标和键盘的介绍,计算机基础课程鼠标和键盘”.ppt相关推荐

  1. 教育部高等学校大学计算机课程教学指导委员会,2018-2022教育部高等学校工科基础课程教学指导委员会2018年全体委员会议在北京召开...

    为贯彻落实2018-2022年教育部高等学校教学指导委员会成立大会精神,研究讨论新一届教育部高等学校工科基础课程教学指导委员会及工程图学教学指导分委员会的工作计划和安排. 2018年11月30日, 由 ...

  2. 计算机专业英语求职自我介绍,计算机专业英语面试自我介绍

    计算机专业通过基础教学与专业训练,培养基础知识扎实.知识面宽.工程实践能力强,具有开拓创新意识,那么你知道计算机专业的面试英语自我介绍该怎么说吗?下面学习啦小编为你整理了计算机专业英语面试自我介绍,欢 ...

  3. 考研计算机专业英语面试自我介绍,计算机研究生面试英文自我介绍

    计算机研究生面试英文自我介绍 导语:自我介绍是日常工作中与陌生人建立关系.打开局面的一种非常重要的手段,因此,让自己通过自我介绍或得到对方的`认识甚至认可,一种非常重要的职场技术.下面是小编为大家整理 ...

  4. 计算机专业英语求职自我介绍,计算机专业英文面试自我介绍

    工作式的自我介绍,主要适用于工作之中,面试自我介绍,欢迎阅读参考! 计算机专业英文面试自我介绍一 Good morning,madam and sir!It's a GREat honor for m ...

  5. 计算机应用基础课程整体设计说课视频,关于计算机应用基础课程说课设计.doc...

    关于计算机应用基础课程说课设计 [摘要]本文从课程设置.教学内容.教学实施. 教学资源和考核评价五个方面说明了如何对<计算机应用基 础>课程进行说课设计,并通过"word表格制作 ...

  6. 2013年 省职业学校 公共基础课程 两课 评比 计算机应用,江苏省职业学校公共基础课程两课评比教案.doc...

    江苏省职业学校公共基础课程两课评比教案.doc PAGE PAGE 4 江苏省职业学校公共基础课程"两课"评比 教 案 目 录 第二单元 自然的心迹· 前言············ ...

  7. 大学计算机学院学生会纳新介绍,计算机与软件技术系学生会纳新 || 等的就是你!...

    原标题:计算机与软件技术系学生会纳新 || 等的就是你! 我们纳新啦! 八月的李现,不如你的出现 终于盼来了各位小萌新~ 有没有想过自己的大学生活要怎么过呢? 学习之余,加入计算机系学生会 展现自己的 ...

  8. 计算机专业的大学生自我介绍,计算机专业大学生自我介绍

    计算机专业大学生自我介绍 当去到一个新环境下,通常需要用到自我介绍,自我介绍是一种认识自我的手段.那么自我介绍有什么格式呢?下面是小编收集整理的计算机专业大学生自我介绍,希望能够帮助到大家. 计算机专 ...

  9. 计算机专业简历的自我介绍,计算机专业简历自我介绍范文 .docx

    个人简历PERSONAL RESUME 个人简历 PERSONAL RESUME PAGE 1 PAGE 1 计算机专业简历自我介绍范文 计算机专业简历自我介绍(一) 我是***职业技术学院工商管理系 ...

最新文章

  1. 识别迷雾中的物体,谷歌提出最新目标检测算法Context R-CNN
  2. 【OpenCV 4开发详解】轮廓发现与绘制
  3. [转]Mysql中的SQL优化与执行计划
  4. Transformer t2t vit
  5. python五:运算符
  6. c语言程序设计棋盘不对齐,经典c语言程序设计例(55页)-原创力文档
  7. 5G NR 定时提前 Timing advance
  8. springcloud实践之断路器:Hystrix原理和解构
  9. 我的Android进阶之旅------Android MediaPlayer播放网络音频的实例--网络mp3播放器
  10. SAP Spartacus 成功读取 Cart 之后,如何将 payload 插入全局 state
  11. LeetCode - Easy - 637. Average of Levels in Binary Tree
  12. 招银网络笔试java_最新!!招银网络科技Java面经,整理附答案
  13. java迭代器不能修改集合值_关于使用迭代器对集合进行遍历时,不能对集合进行修改的论证...
  14. AD19PCB增加board shape即增大黑色布的面积
  15. php中is_uploaded_file()函数的用法
  16. 在 Panorama 页面中添加 ApplicationBar
  17. HDU 5651 xiaoxin juju needs help 组合数
  18. 清橙A1206 小Z的袜子(莫队算法)
  19. CCF-CSP 201912-1 报数(python实现)
  20. Jupyter notebook如何更换主题、更改字体大小?

热门文章

  1. 论文笔记-2019-Object Detection in 20 Years: A Survey
  2. elasticsearch-analysis-dynamic-synonym同义词插件实现热更
  3. PythonRedis 无序集合set、有序集合zset操作
  4. tp5获取sql_tp5 sql语句 tp5 获取sql语句
  5. css3 3d 太阳系,使用css3的动画模拟太阳系恒星公转
  6. h5前端调用android拍照功能,H5调用Android拍照和摄像以及选取相册
  7. 2022国内大学排行榜
  8. implementation和compile的区别
  9. matlab 做apk,炉石手机脚本apkmatlab文件
  10. apicloud安卓更新,新版本不能覆盖旧版本的问题及解决方案