第9章鼠标程序编程基础.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1页,共15页,编辑于2022年,星期日 9.1鼠标概述 鼠标作为一种定位输入设备,在Windows中得到了广泛的应用。通过鼠标的键击、双击和拖动功能,用户可以很容易地操作基于Windows图形界面的应用程序。 常见鼠标有单键、双键、三键等几种类型,以重视与网络浏览的五健鼠标在Windows 2000系统中也得到支持。 nButtons = GetSystemMetrics(SM_CMOUSEBUTTONS); //可以反回当前鼠标上键的个数 SwapMouseButton(TRUE); // 用于交互鼠标左键和右键的功能 SystemParametersInfo(SPI_SETMOUSESPEED,0,20,0); // 可以获取和设置鼠标的速度 ? uTime=GetDoubleClickTime(); // 获取鼠标的双击间隔 SetDoubleClickTime(300); // 设置鼠标的双击间隔 第2页,共15页,编辑于2022年,星期日 9.1.3鼠标消息 当鼠标事件发生后,系统将产生的鼠标消息发送到相应的应用程序的消息队列。一般来讲,鼠标消息只会发送给热点下面的程序窗口,而不管该窗口是否是活动的。 鼠标消息有两类: 客户区鼠标消息 非客户区鼠标消息 与鼠标有关的操作 鼠标键双击 捕获鼠标 鼠标响应程序实例 MouseClick.c 第3页,共15页,编辑于2022年,星期日 9.1.4 显示区鼠标消息 Windows 2000系统中,共定义了13种客户区鼠标消息: 鼠标键 按下 释放 双击 左键 WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONDBLCLK 中键 WM_MBUTTONDOWN WM_MBUTTONUP WM_MBUTTONDBLCLK 右键 WM_RBUTTONDOWN WM_RBUTTONUP WM_RBUTTONDBLCLK X键 WM_XBUTTONDOWN WM_XBUTTONUP WM_XBUTTONDBLCLK 鼠标移动 WM_MOUSEMOVE x=LOWORD(lParam); // 鼠标发生时的x坐标位置 y=HIWORD(lParam); // 鼠标发生时的y坐标位置 第4页,共15页,编辑于2022年,星期日 9.1.4 显示区鼠标消息 鼠标消息的wParam中则存放着鼠标虚拟键的组合: MK_LBUTTON MK_MBUTTON MK_RBUTTON MK_SHIFT MK_CONTROL 例如:判别当某鼠标按下同时SHIFT组合键是否也同时按下了? if ( (wParam MK_SHIFT) != 0 ) cout“Shift键也同时按下了”; if ( (wParamMK_LBUTTON)!=0 (wParamMK_CONTROL)!=0 ) cout“鼠标左键和Ctrl键同时按下了” 第5页,共15页,编辑于2022年,星期日 9.1.6 鼠标消息的处理例子 CONNECT 第6页,共15页,编辑于2022年,星期日 9.3 非显示区域鼠标消息 对应于每条客户区,鼠标消息都有一条非客户区鼠标消息,只不过消息的名称稍有不同 如WM_LBUTTONDOWN对应于WM_NCLBUTTONDOWN。 另外, 包含在非客户区鼠标消息lParam参数中的坐标信息是基于屏幕坐标系的,即坐标原点在窗口屏幕的左上角。 第7页,共15页,编辑于2022年,星期日 9.4 显示区域中的名种测试程序 9.4.1 命中测试程序 CHECKER1 9.4.3 在CHECKER1种加入键盘界面后的程序 CHECKER2 第8页,共15页,编辑于2022年,星期日 9.5 子窗口的基本概念 9.5.1 用子窗口实现CHECKER程序 CHECKER3 表9-5 CreateWindow 的11个参数 参数 主窗口 子窗口 窗口类 “Checker3” “Checker3_Child” 窗口标题 “Check3...” NULL 窗口式样 WS_OVERLAPPEDWINDOW WS_CHILDWINDOW|WS_VISIBLE 水平地址 CW_USEDEFAULT 0 垂直地址 CW_USEDEFAULT 0 宽度 CW_USEDEFAULT 0 高度 CW_USEDEFAULT 0 父窗口代码 NULL Hwnd 功能表代号 NULL (HMENU) (y8 | x)子窗口ID 执行实体代号 hInstance (HINSTANCE)(GetWindowLong(hwnd,GWL_HINSTANCE) 额外参数 NULL NULL 第9页,共15页,编辑于2022年,星期日 9.5 子窗口的基

文档评论(0)

努力奋斗的小玲 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档