函数功能:该函数在属于当前线程的指定窗体里设置鼠标捕获。一旦窗体捕获了鼠标,全部鼠标输入都针对该窗体,不管光标是否在窗体的边界内。同一时刻仅仅能有一个窗体捕获鼠标。假设鼠标光标在还有一个线程创建的窗体上,仅仅有当鼠标键按下时系统才将鼠标输入指向指定的窗体。

文件夹

1作用及參数

2鼠标事件

1作用及參数编辑

函数原型:HWND SetCapture(HWND hwnd)。
參数:
hWnd:当前线程里要捕获鼠标的窗体句柄。
返回值:返回值是上次捕获鼠标的窗体句柄。

假设不存在那样的句柄。返回值是NULL。

备注:仅仅有前台窗体才干捕获鼠标。

假设一个后台窗体想捕获鼠标,则该窗体仅为其光标热点在该窗体可见部份的鼠标事件接收消息。另外,即使前台窗体已捕获了鼠标。用户也可点击还有一个窗体。将其调入前台。当一个窗体不再须要全部的鼠标输入时。创建该窗体的线程应当调用函数ReleaseCapture来释放鼠标。

此函数不能被用来捕获还有一进程的鼠标输入。

Windows 95:调用SetCapture会引起失去鼠标捕获的窗体接收一个WM_CAPTURECHANGED消息。
速查:头文件:Winuser.h:输入库:user32.lib。
Javascript鼠标捕获
鼠标捕获(setCapture)作用是将鼠标事件捕获到当前文档的指定的对象。这个对象会为当前应用程序或整个系统接收全部鼠标事件。

2鼠标事件编辑

setCapture捕获下面鼠标事件:onmousedown、onmouseup、onclick、ondblclick、onmouseover和onmouseout。
程序中主要是要捕获onmousemove和onmouseup事件。
msdn的介绍中还说到setCapture有一个bool參数,用来设置在容器内的鼠标事件是否都被容器捕获。
容器就是指调用setCapture的对象,大概意思就是:
參数为true时(默认)容器会捕获容器内全部对象的鼠标事件,即容器内的对象不会触发鼠标事件(跟容器外的对象一样)。
參数为false时容器不会捕获容器内对象的鼠标事件,即容器内的对象能够正常地触发事件和取消冒泡。
ReleaseCapture

编辑

函数功能:该函数从当前线程中的窗体释放鼠标捕获,并恢复通常的鼠标输入处理。捕获鼠标的窗体接收全部的鼠标输入(不管光标的位置在哪里),除非点击鼠标键时,光标热点在还有一个线程的窗体中。
函数原型:BOOL ReleaseCapture(VOlD)
參数:无。
返回值:假设函数调用成功,返回非零值。假设函数调用失败,返回值是零。若想获得很多其它的错误信息,请调用GetlastError函数。
备注:应用程序在调用函数SetCaPture之后调用此函数。
Windows 95:调用ReleaseCapture会引起失去鼠标捕获的窗体接收一个WM_CAPTURECHANGED消息。
速查:Windows NT:3.1及以上版本号;Windows:95及以上版本号:Windows CE:1.0及以上版本号;头文件:winuser.h。输入库:User32.lib。

转载于:https://www.cnblogs.com/mengfanrong/p/5177631.html

SetCapture ReleaseCapture相关推荐

  1. SetCapture/ReleaseCapture 使用场景

    说明1  ::SetCapture(GetDlgItem(IDC_XX)->m_hWnd); or GetDlgItem(IDC_XX)->SetCapture(); 要与ReleaseC ...

  2. CWnd::SetCapture, ReleaseCapture, GetCapture

    一般,只有鼠标在CWnd的客户区内,你才能接受到鼠标消息.调用SetCapture后,即使鼠标移动出客户区,你也可以接受到鼠标消息.不过系统中只能有一个程序调用SetCapture,所以你需要在不使用 ...

  3. 正確使用 SetCapture ReleaseCapture [譯]

    本文描述瞭如何正確處理自定義窗口和控件中的鼠標捕獲操作. 原文鏈接: http://www.codeproject.com/Tips/127813/Using-SetCapture-correctly ...

  4. API - SetCapture(),ReleaseCapture与GetCapture - 鼠标移动的捕获与释放

    演示效果: 添加控件:Form1,Button1,Label1,Label2,Timer1 GetCapture:返回当前捕获鼠标输入的窗口的句柄 SetCapture():通过句柄设置指定窗口来捕获 ...

  5. SetCapture, ReleaseCapture, GetCapture

    来自:http://blog.csdn.net/weiwangchao_/article/details/6955970 一般,只有鼠标在CWnd的客户区内,你才能接受到鼠标消息.调用SetCaptu ...

  6. CWnd SetCapture ReleaseCapture GetCapture

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 一般,只 ...

  7. js setCapture() releaseCapture() 获取页面上发生的所有的事件

    setCapture() IE独有 div.setCapture() 这个div会获取页面上发生的所有的事件 捕获到自己身上来 div.releaseCapture() ;//清除 setCaptur ...

  8. 理解SetCapture、ReleaseCapture、GetCapture(控制了消息发往哪个窗口,是理解消息的关键)

    理解SetCapture.ReleaseCapture.GetCapture 正常情况下,鼠标指针位于哪个窗口区域内,鼠标消息就自动发给哪个窗口.如果调用了SetCapture,之后无论鼠标的位置在哪 ...

  9. SetCapture、ReleaseCapture、GetCapture

    正常情况下,鼠标指针位于哪个窗口区域内,鼠标消息就自动发给哪个窗口.如果调用了SetCapture,之后无论鼠标的位置在哪,鼠标消息都发给指定的这个窗口,直到调用ReleaseCapture或者调用S ...

最新文章

  1. 看我是怎样让客户更快找到我的!
  2. iSCSI的基础实验
  3. CentOS7和其他版本的虚拟机,防火墙命令等各种相关笔记
  4. MoeCTF 2021Re部分------PE
  5. Android Studio开发第二篇创建新项目
  6. jzoj4805-[NOIP2016提高A组模拟9.28]跟踪【dfs,树】
  7. 【原】git命令行查看全部分支与远程分支不同步问题
  8. C++ 中结构体的继承关系
  9. webpack如何全局引入jquery和echarts?
  10. 泛型思想理解数据结构链表
  11. 模拟串口收发数据Configure Virtual Serial Port Driver(VSPD)
  12. 【应急响应】2020应急响应基础-Windows、Linux合集
  13. 一口气通过一系列阿里云证书ACA/ACP/ACE认证心得
  14. IDEA编译错误PersistentEnumerator storage corrupted
  15. UVM--Sequencer和Sequence
  16. 测度、线性赋范空间、内积空间
  17. Android实现图书借阅管理系统的开发
  18. 画了一个田径场,可以踢世界杯吗?
  19. Linux磁盘分区初始化
  20. 经典按键java手机游戏_各种免费手机游戏可以玩了!

热门文章

  1. strncpy 用法注意
  2. html、js if判断
  3. Unity Android手机触屏事件
  4. 将字符串中每一个单词的首字母变为大写
  5. 用Arduino玩转掌控板(ESP32):Siri语音识别读取传感器数据→WebServer应用示例2
  6. 【实习日志】一天小记录及项目小问题
  7. Springboot整合Redis(RedisConfig等工具类编写)
  8. 2021-07-10
  9. 亚马逊卖家“过冬”是否值得转型?
  10. 51nod 1526 分配笔名(Trie树+贪心)