西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > 开发教程 > C/C++教程 >

函数SetCapture ReleaseCapture解释

时间:2016-01-14 16:29来源:未知 作者:好模板 点击:
SetCapture ReleaseCapture函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一

SetCapture ReleaseCapture函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当 鼠标键 按下时系统才将鼠标输入指向指定的窗口。

目录

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。


(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容