网站大量收购独家精品文档,联系QQ:2885784924

接口课件1~6打包5.3鼠标接口幻灯片.pptVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
鼠标器:控制屏幕上光标运动、实现选择操作 基本原理: 1)将鼠标移动的距离和方向信息转换成脉冲信号?计算机; 2)再由驱动程序将脉冲信号转换成鼠标器光标的坐标数据 或将鼠标器的移动翻译成能被现行应用程序执行的动作 按测量位移部件的不同分 机械式:在基座凹处安装橡皮包裹的金属球 光电式:基座上装有发光二极管和光敏接收管 分辨率: 像素点/厘米(d/cm)——鼠标器移动1厘米所经历的像素点数,是衡量鼠标器性能的重要参数 5.3 鼠标接口 鼠标接口电路 (1)鼠标接口电路概述 PC机主板上并没有专门的鼠标接口电路。早期的PC机(DOS),利用串行通信接口,并且必须安装鼠标驱动程序。 目前,计算机上的鼠标接口仍保留串行通信接口模式,只是插座作成专用形式。其驱动程序由Windows自带。 目前,Windows支持USB鼠标。 (2)串行通信接口鼠标的数据传输格式 文本模式下,鼠标的状态由3个字节构成一帧数据,传送给PC: 1 LB RB Y7 Y6 X7 X6 0 Y5 ~ Y0 0 X5 ~ X0 第1字节 第2字节 第3字节 第1字节 标志 1:左键压下 0:左键松开 1:右键压下 0:右键松开 x坐标的 高2位 y坐标的 高2位 第2字 节标志 第3字 节标志 x坐标的 低6位 y坐标的 低6位 图形模式下,鼠标的状态数据另有定义 DOS下,鼠标操作可调用DOS中断(INT 33)进行; Windows下,采用鼠标消息和鼠标事件来操作。 二 VC鼠标编程 (1)改变鼠标光标形状 由 WM_SETCURSOR 消息触发,用户可重载此消息响应函数,加载希望的光标。操作步骤; 在资源中绘制自己的鼠标光标,设其ID为 IDC_HAND; 在H文件中定义自己的鼠标对象 在CPP文件中的初始化函数中,为鼠标对象加载自己的光标资源 BOOL CMouseDlg::OnInitDialog() { …… // TODO: Add extra initialization here Hand_ursor=AfxGetApp()-LoadCursor(IDC_HAND); return TRUE; // return TRUE unless you set the focus to a control } 建立由 WM_SETCURSOR 消息响应函数,并为按钮设置自己的光标 BOOL CMouseDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { // TODO: Add your message handler code here and/or call default CString sClassName; ::GetClassName(pWnd-GetSafeHwnd(),sClassName.GetBuffer(80),80); if (sClassName==Button) { ::SetCursor(Hand_ursor); return TRUE; } return CDialog::OnSetCursor(pWnd, nHitTest, message); } 运行试试! (2)由程序指使鼠标发出动作 由鼠标事件函数 mouse_event( )实现 mouse_event( DWORD dwFlags, // 指定动作,如点击、移动等 DWORD dx, // 指定x位置 DWORD dy, // 指定y位置 DWORD dwData, //指定中轮的转动量,如不是中轮,则为0 DWORD dwExtraInfo //指定鼠标事件的附加值 ); 例:写出代码,当点击“确定”按钮时,令鼠标移到右上角,并发出点击动作。 双击模板上的“确定”按钮,为它添加“点击消息”响应函数; 在“点击消息”响应函数中添加如下代码: void CMouseDlg::OnOK( ) { // TODO: Add extra validation here mouse_event( //移动光标位置 MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE,//按绝对坐标移动 3000, //x坐标 3500, //y坐标 0, //中轮转动单位,此处无关 GetM

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档