SetCapture()有什么用
请问SetCapture()怎么用,我看他们在处理MOUSE移动的函数里用到,但不明白,请各位指教 问题点数:20、回复次数:3Top
1 楼fayifu(赅)回复于 2003-12-01 16:59:20 得分 4
锁定鼠标Top
2 楼fayifu(赅)回复于 2003-12-01 17:00:43 得分 8
函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。
函数原型:HWND SetCapture(HWND hwnd);
参数:
hWnd:当前线程里要捕获鼠标的窗口句柄。
返回值:返回值是上次捕获鼠标的窗口句柄。如果不存在那样的句柄,返回值是NULL。
备注:只有前台窗口才能捕获鼠标。如果一个后台窗口想捕获鼠标,则该窗口仅为其光标热点在该窗口可见部份的鼠标事件接收消息。另外,即使前台窗口已捕获了鼠标,用户也可点击该窗口,将其调入前台。当一个窗日不再需要所有的鼠标输入时,创建该窗口的线程应当调用函数ReleaseCapture来释放鼠标。此函数不能被用来捕获另一进程的鼠标输入。
Windows 95:调用SetCaptune会引起失去鼠标捕获的窗口接收一个WM_CAPTURECHANGED消息。
速查:头文件:Winuser.h:输入库:user32.lib。
Top
3 楼bluenet21(net21)回复于 2003-12-01 17:09:46 得分 8
用于鼠标移出窗体之外,还能获取到鼠标的移动消息!
像3DMAX中,用在窗口中按住鼠标缩放、移动或者旋转时,鼠标移出窗体之外还继续有效!可以保证鼠标移动操作不受窗口大小的限制!Top
相关问题
- SetCapture和SetFocus的区别是什么,都用在什么地方?
- SetCapture的用法迷惑
- dll里面的MouseHook用SetCapture行不行?
- 在windows sdk 编程中,SetCapture( )函数是什么意思?
- IE下setCapture()对应FireFox下应该是什么?
- 我用SetCapture捕捉鼠标的WM_MOUSEMOVE消息,为什么只有在本窗口内有效,而出了窗口区域就无效?
- 如何使使用了SetCapture的控件显示tooltiptext?
- 是用SetCapture为何导致界面不响应?
- 用SetCapture能捕捉其它窗口的WM_MOUSEMOVE吗
- SetCapture怎么用啊?得不到我想要的效果




