博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SetCapture ReleaseCapture
阅读量:5033 次
发布时间:2019-06-12

本文共 1279 字,大约阅读时间需要 4 分钟。

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

文件夹

1

2

1作用及參数

:HWND SetCapture(HWND hwnd)。
參数:
:当前线程里要捕获鼠标的 。

返回值:返回值是上次捕获鼠标的 。

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

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

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

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

Windows 95:调用 会引起失去鼠标捕获的窗体接收一个WM_CAPTURECHANGED消息。
速查:头文件:Winuser.h:输入库:user32.lib。

鼠标捕获
鼠标捕获(setCapture)作用是将鼠标事件捕获到当前文档的指定的对象。这个对象会为当前 或整个系统接收全部鼠标事件。

2鼠标事件

setCapture捕获下面鼠标事件:onmousedown、onmouseup、onclick、ondblclick、onmouseover和onmouseout。

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

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

你可能感兴趣的文章
LeetCode 77. 组合(Combinations)
查看>>
oracle11G安装过程中两个参数详解
查看>>
Easy Mock
查看>>
前端进阶之路
查看>>
Oracle数据库版本号定期检视与升级的必要性分析
查看>>
python基础
查看>>
webservice soap wsdl简介
查看>>
项目冲刺-第八天
查看>>
ORACLE磁盘空间占满解决
查看>>
IMPDP】同一数据库实例不同用户间数据迁移复制——NETWORK_LINK参数
查看>>
ISCC2019-REV3
查看>>
svn安装教程
查看>>
【LeetCode & 剑指offer刷题】动态规划与贪婪法题11:121. Best Time to Buy and Sell Stock(系列)...
查看>>
C和指针 第十章 结构和联合 习题
查看>>
对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC。
查看>>
双向循环链表
查看>>
Iterator和for...of
查看>>
jupyter notebook 安装代码提示功能
查看>>
状压DP概念 及例题(洛谷 P1896 互不侵犯)
查看>>
java 复习
查看>>