计算机基础课程 鼠标与键盘

计算机基础课程 鼠标与键盘

ID:1508406

大小:1.41 MB

页数:45页

时间:2017-11-12

计算机基础课程 鼠标与键盘_第1页
计算机基础课程 鼠标与键盘_第2页
计算机基础课程 鼠标与键盘_第3页
计算机基础课程 鼠标与键盘_第4页
计算机基础课程 鼠标与键盘_第5页
资源描述:

《计算机基础课程 鼠标与键盘》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、鼠标和键盘鼠标处理程序●鼠标是一种得到广泛应用的定位输入设备。●通过鼠标的单击、双击和拖动功能,用户可以方便的操作Windows的图形界面应用程序。●Windows应用程序的鼠标消息,可以被任何窗口接受,只要鼠标移动到该窗口并有鼠标按键消息,该窗口就可以接受到鼠标消息,而与该窗口是否活动窗口或是否带有输入焦点没有关系。鼠标消息●windows操作系统通过鼠标驱动程序接受鼠标输入消息,由鼠标设备驱动程序捕捉Windows的任何鼠标事件。●当用户移动鼠标释放鼠标按键时,将产生鼠标消息。鼠标消息可以分为客户区鼠标消息和非客户区鼠标消息。●鼠标在窗口客户区移动时产生WM_MOUSEM

2、OVE消息.鼠标在客户区产生的消息由Windows应用程序处理,而在窗口边界、菜单、标题栏和滚动条等非客户区产生的鼠标消息一般由Windows系统处理。●鼠标消息属于Windows消息,所以鼠标和键盘消息的消息响应函数只能放在窗口框架类和视图类中,作为窗口框架类和视图类的成员函数。●鼠标消息均可直接利用VisualC++6.0的ClassWizard向导添加鼠标消息处理函数●与鼠标消息对应的消息处理函数如下表所示。消息处理函数常用鼠标消息处理函数表鼠标消息消息处理函数备注WM_MOUSEMOVEvoidOnMouseMove(UINTnFlags,CPointpoint)鼠标

3、移动WM_LBUTTONDOWNvoidOnLButtonDown(UINTnFlags,CPointpoint)单击鼠标左键WM_MBUTTONDOWNvoidOnMButtonDown(UINTnFlags,CPointpoint)单击鼠标中键WM_RBUTTONDOWNvoidOnRButtonDown(UINTnFlags,CPointpoint)单击鼠标右键WM_LBUTTONUPvoidOnLButtonUp(UINTnFlags,CPointpoint)鼠标左键释放鼠标消息处理函数表(续)WM_MBUTTONUPvoidOnMButtonUp(UINTnFlag

4、s,CPointpoint)鼠标中键释放WM_RBUTTONUPvoidOnRButtonUp(UINTnFlags,CPointpoint)鼠标右键释放WM_LBUTTONDBLICKvoidOnLButtonDblClk(UINTnFlags,CPointpoint)双击鼠标左键WM_MBUTTONDBLICKvoidOnMButtonDblClk(UINTnFlags,CPointpoint)双击鼠标中键WM_RBUTTONDBLICKvoidOnRButtonDblClk(UINTnFlags,CPointpoint)双击鼠标右键(l)nFlags包含额外的鼠标键和键

5、盘键的信息,以指出发生消息时某些鼠标键与键盘键的状态,可能的取值有以下几个。.MK_CONTROL:键盘上的Ctrl键被按下。.MK_LBUTTON:鼠标左键被按下。.MK_MBUTTON:鼠标中键被按下。.MK_RBUTTON:鼠标右键被按下。.MK_SHIFT:键盘上的Shift键被按下。在鼠标消息处理函数内,可用按位逻辑“与”运算检测特定键的信息,例如,鼠标事件发生时,如果按下了shift键,则弹出一个消息框,显示“鼠标事件发生时,shift键被按下!”,代码如下:if(nFlags&MK_SHIFT)//结果若为非零值,则表示键被按下Messagesox(”鼠标事件发

6、生时,shift键被按下!”); (2)point参数包含鼠标指针的坐标位置,其类型为CPoint类,CPoint类是MFC预定义的用来描述点的类,其包含两个数据成员x和y。point.x内为鼠标指针的横坐标,poini.y内为鼠标指针的纵坐标。鼠标消息的捕获由于鼠标的随机性,用户可能在一个应用程序的窗口内按下鼠标左键,而移动到另一个应用程序的窗口内后释放鼠标左键。为使所有鼠标消息均定向到某一窗口,而不管鼠标光标位于何处,就必须对鼠标加以捕捉。Windows为了这个目的,声明了一个专门用来捕获鼠标消息的函数:CWnd*SetCapture();一旦某窗口捕捉了鼠标,其他窗口

7、无法得到鼠标消息。因此,应用程序应该及时释放鼠标,以使鼠标可以按系统预定的正常方式发送消息,否则将使鼠标的一些正常作用失效(例如,当用鼠标单击窗口的关闭按钮时,程序将不能被关闭)。释放鼠标要使用下面的这个函数:BOOLReleaseCapture();这两个函数都不带输入参数。例1开发一个用鼠标绘图的程序,当按下鼠标左键后,移动鼠标可在窗口内绘图,松开鼠标左键后绘图结束。当按下鼠标右键后,移动鼠标可擦除窗口内的图形,松开鼠标右键后擦图结束。操作步骤如下。(l)用AppWizard生成框架代码使用菜单Fi

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

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

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