CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

SetCapture()有什么用

楼主qingz(一只来自北方的*)2003-12-01 16:57:16 在 VC/MFC / 基础类 提问

请问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怎么用啊?得不到我想要的效果

关键词

  • 鼠标
  • 函数
  • 线程
  • 移动
  • 消息
  • 捕获
  • setcapture
  • 句柄
  • 光标
  • 前台

得分解答快速导航

  • 帖主:qingz
  • fayifu
  • fayifu
  • bluenet21

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo