欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第9章鼠标程序编程基础精选PPT.ppt

    • 资源ID:77739640       资源大小:670KB        全文页数:15页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第9章鼠标程序编程基础精选PPT.ppt

    第9章鼠标程序编程基础第1页,本讲稿共15页9.1鼠标概述 鼠标作为一种定位输入设备,在Windows中得到了广泛的应用。通过鼠标的键击、双击和拖动功能,用户可以很容易地操作基于Windows图形界面的应用程序。常见鼠标有单键、双键、三键等几种类型,以重视与网络浏览的五健鼠标在Windows 2000系统中也得到支持。nButtons=GetSystemMetrics(SM_CMOUSEBUTTONS);/可以反回当前鼠标上键的个数SwapMouseButton(TRUE);/用于交互鼠标左键和右键的功能SystemParametersInfo(SPI_SETMOUSESPEED,0,20,0);/可以获取和设置鼠标的速度uTime=GetDoubleClickTime();/获取鼠标的双击间隔SetDoubleClickTime(300);/设置鼠标的双击间隔第2页,本讲稿共15页9.1.3鼠标消息 当鼠标事件发生后,系统将产生的鼠标消息发送到相应的应用程序的消息队列。一般来讲,鼠标消息只会发送给热点下面的程序窗口,而不管该窗口是否是活动的。鼠标消息有两类:客户区鼠标消息非客户区鼠标消息与鼠标有关的操作鼠标键双击捕获鼠标鼠标响应程序实例 MouseClick.c 第3页,本讲稿共15页9.1.4 显示区鼠标消息 Windows 2000系统中,共定义了13种客户区鼠标消息:鼠标键按下释放双击左键WM_LBUTTONDOWNWM_LBUTTONUPWM_LBUTTONDBLCLK中键WM_MBUTTONDOWNWM_MBUTTONUPWM_MBUTTONDBLCLK右键WM_RBUTTONDOWNWM_RBUTTONUPWM_RBUTTONDBLCLKX键WM_XBUTTONDOWNWM_XBUTTONUPWM_XBUTTONDBLCLK鼠标移动WM_MOUSEMOVEx=LOWORD(lParam);/鼠标发生时的x坐标位置y=HIWORD(lParam);/鼠标发生时的y坐标位置第4页,本讲稿共15页9.1.4 显示区鼠标消息 鼠标消息的wParam中则存放着鼠标虚拟键的组合:MK_LBUTTONMK_MBUTTONMK_RBUTTONMK_SHIFTMK_CONTROL例如:判别当某鼠标按下同时SHIFT组合键是否也同时按下了?if(wParam&MK_SHIFT)!=0)cout“Shift键也同时按下了”;if(wParam&MK_LBUTTON)!=0&(wParam&MK_CONTROL)!=0)cout“鼠标左键和Ctrl键同时按下了”第5页,本讲稿共15页9.1.6 鼠标消息的处理例子 CONNECT第6页,本讲稿共15页9.3 非显示区域鼠标消息 对应于每条客户区,鼠标消息都有一条非客户区鼠标消息,只不过消息的名称稍有不同如WM_LBUTTONDOWN对应于WM_NCLBUTTONDOWN。另外,包含在非客户区鼠标消息lParam参数中的坐标信息是基于屏幕坐标系的,即坐标原点在窗口屏幕的左上角。第7页,本讲稿共15页9.4 显示区域中的名种测试程序 9.4.1 命中测试程序CHECKER19.4.3 在CHECKER1种加入键盘界面后的程序CHECKER2第8页,本讲稿共15页9.5 子窗口的基本概念9.5.1 用子窗口实现CHECKER程序CHECKER3表9-5 CreateWindow 的11个参数参数主窗口子窗口窗口类“Checker3”“Checker3_Child”窗口标题“Check3.”NULL窗口式样WS_OVERLAPPEDWINDOWWS_CHILDWINDOW|WS_VISIBLE水平地址CW_USEDEFAULT0垂直地址CW_USEDEFAULT0宽度CW_USEDEFAULT0高度CW_USEDEFAULT0父窗口代码NULLHwnd功能表代号NULL(HMENU)(y8|x)子窗口ID执行实体代号hInstance(HINSTANCE)(GetWindowLong(hwnd,GWL_HINSTANCE)额外参数NULLNULL第9页,本讲稿共15页9.5 子窗口的基本概念可以通过下面的调用来获得一个特定子窗口的ID:idChild=GetWindowLong(hwndChild,GWL_ID);其中,hwndChild是子窗口的句柄,GWL_ID识别字表示函数返回子窗口的ID.如果知道父窗口的句柄,和子窗口的ID,则下面函数可以获得子窗口的句柄:hwndChild=GetDlgItem(hwndParent,idChild);第10页,本讲稿共15页9.6鼠标键双击(补充)在默认的情况下,Win32应用程序并不支持鼠标键的双击,只有在注册窗口类时注明该窗口类具有CS_DBLCLKS风格后才支持。wndclass.style=CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS;例如:双击鼠标左键会产生下面的一系列鼠标消息:(1)WM_LBUTTONDOWN(2)WM_LBUTTONUP(3)WM_LBUTTONDBLCLK(4)WM_LBUTTONUP在默认情况下,系统设定的双击时间间隔是500毫秒,使用函数SetDoubleClickTime可以改变这一值。第11页,本讲稿共15页捕获鼠标 在通常情况下,只有当鼠标光标位于某一窗口的客户区或者非客户区时,该窗口的窗口过程才能接收到鼠标消息,甚至当鼠标热点不在此窗口上方时,也能捕获到鼠标消息,这就涉及到鼠标捕获的问题。SetCapture(hWnd);指定另外一个窗口捕获鼠标或者使用ReleaseCapture函数,都会使窗口失去对鼠标消息的捕获。ReleaseCapture();函数GetCapture能返回正在捕获鼠标消息的窗口句柄:if(hWnd=GetCapture()第12页,本讲稿共15页9.7 计时器(补充)在Windows应用程序中,计时器是性能非常好的一种输入设备,它按照预定的时间间隔向用户的程序发送一条计时器消息。1 SetTimer 此函数用于设置和指定时间的间隔值UINT_PTR SetTimer(HWND hWnd,UINT_PTR nIDEvent,UINT uElapse,TIMERPROC lpTimerFunc);2 KillTimer 清楚建立的计时器,并清空程序消息队列中的WM_TIMER消息。BOOL KillTimer(HWND hWnd,UINT_PTR uIDEvent);第13页,本讲稿共15页9.7.1 计时器和计数器消息 在Windows应用程序中,计时器是性能非常好的一种输入设备,它按照预定的时间间隔向用户的程序发送一条计时器消息。计时器是基于硬件计时器中断的,有系统分配和管理的装置。每到一定的时间间隔,系统就会把计时器消息WM_TIMER发送到与计时器相关联的窗口的消息队列中。计时器消息WM_TIMER按指定的时间间隔发送到程序的消息队列中,其参数wParam是计时器唯一的标识符(整型值),lParam参数为零。另外,与WM_PAINT消息相似,Windows也不能持续向消息队列中放入多个WM_TIMER消息,而是将多余的WM_TIMER消息组合成一个消息。因此,在有些情况下,程序可能丢失某些WM_TIMER消息。当然,程序可以同时拥有多于一个的计时器。第14页,本讲稿共15页9.7 计时器实例程序(补充)计时器程序实例 RunningBall.c 演示计时器的设置和消息处理。第15页,本讲稿共15页

    注意事项

    本文(第9章鼠标程序编程基础精选PPT.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开