关于SetCapture() 和 ReleaseCapture()的使用方法

关于SetCapture() 和 ReleaseCapture()的使用方法  查MSND,对SetCapture()函数的说明为:“该函数在属于当前线程的指定窗体里设置鼠标捕获。一旦窗体捕获了鼠标,全部鼠标输入都针对该窗体,不管光标是否在窗体的边界内。同一时刻仅仅能有一个窗体捕获鼠标。假设鼠标光标在还有一个线程创建的窗体上,仅仅有当鼠标键按下时系统才将鼠标输入指向指定的窗体。”一開始我看这个解释误觉得了仅仅要在属于窗体里的一个线程调用了SetCapture(hWn…

大家好,又见面了,我是你们的朋友全栈君。

   查MSND,SetCapture()函数的说明为:“该函数在属于当前线程的指定窗体里设置鼠标捕获。一旦窗体捕获了鼠标,全部鼠标输入都针对该窗体,不管光标是否在窗体的边界内。同一时刻仅仅能有一个窗体捕获鼠标。假设鼠标光标在还有一个线程创建的窗体上,仅仅有当鼠标键按下时系统才将鼠标输入指向指定的窗体。”一開始我看这个解释误觉得了仅仅要在属于窗体里的一个线程调用了SetCapture(hWnd)hWnd设为当前的窗体句柄,那么以后的全部窗体消息都会发到我们指定的那个窗体消息队列中。这种理解是错误的!!!在你调用SetCapture(hWnd)函数后,仅仅是可以捕获onmousedownonmouseuponmousemoveonclickondblclickonmouseoveronmouseout鼠标消息,可是一般我们是捕获onmousemoveonmouseup两个消息。须要仅仅注意最后一句“假设鼠标光标在还有一个线程创建的窗体上,仅仅有当鼠标键按下时系统才将鼠标输入指向指定的窗体”的解释,就是即使你在一个窗体线程里对了了SetCapture(),但你在别的窗体的上点击了相同会把鼠标消息发个这个窗体而是我们通过调用SetCapture()设定那个窗体。由于当鼠标在窗体外面点击的时候,被点击的窗体获得焦点,原来的SetCapture()也就失效了。

    当你不在须要继续获得鼠标消息就要应该调用ReleaseCapture()释放掉,否则别的线程想调用就会失败。记住:SetCapture()和ReleaseCapture()必须成对呈现。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135152.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月5日 下午6:00
下一篇 2022年6月5日 下午6:00


相关推荐

  • 【数据结构】十大排序「建议收藏」

    打开算法大门,从排序开始

    2022年4月13日
    52
  • 使用两个栈实现一个队列

    使用两个栈实现一个队列题目 使用两个栈实现一个队列 栈 后进先出 队列 先进先出 入队列 直接入栈 1 出队列 返回队列的队尾元素 返回队列的队头元素 队列为空 栈 1 为空 amp amp amp amp amp amp amp amp amp amp 栈 2 为空 队列元素个数 栈 1 的元素个数 栈 2 的元素个数 参考代码 设置一个队列由两个栈组成 typedefstruc

    2026年3月19日
    1
  • Nginx 解决跨域问题

    Nginx 解决跨域问题浏览器有同源访问策略 经常遇到跨域问题 怎么破 解决方案 一般 Nginx 解决跨域问题有 2 种方式 一般用第一种 接下来也是主讲第一种 推荐 a 通过配置 header 方式解决跨域 b 通过反向代理 proxy pass a 修改 nginxserver 配置 添加如下内容 允许跨域请求的域 代表所有 add header Access Control Allow Origin 允许请求的 headeradd header Access Control Allow Header

    2026年3月26日
    2
  • 【转】何帆从《世界是平的》到《谢谢你迟到》

    【转】何帆从《世界是平的》到《谢谢你迟到》

    2021年5月27日
    119
  • Redis – 0、几款可视化工具

    Redis – 0、几款可视化工具不啰嗦 我们直接开始 1 命令行 1 1 iredis 利用 iredis 用 将 redis 通过 pipe 用 shell 的其他工具 比如 jq fx rg sort uniq cut sed awk 等处理 还能自动补全 高亮显示 功能很多 官网地址 2 可视化工具 2 1 桌面客户端版 2 1 1 RedisDesktop 这个工具应该是现在使用率最广的可视化工具了 存在时间很久 经过了数次迭代 跨平台支持 以前是免费的 现在为收费工具 试用可以有半个月的时间 官网地址

    2026年3月18日
    3
  • 全网最热Vue入门教程你不看就吃亏了哦[通俗易懂]

      因为最近需要使用到Vue,所以打算将Vue的学习资料详细整理一份,感兴趣的小伙伴可以一起来哦。一、Vue基础介绍1.什么是Vue.jsVue.js是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App,Vue语法也是可以用于进行手机App开发的,需要借助于Weex)Vue.js是前端的主流框架之一,和Angular.js、Rea…

    2022年4月17日
    96

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号