SetCapture的问题

TADICAN 2009-10-23 11:01:46
一个Modal Dialog,在其中调用SetCapture,然后所有的控件都不能点了。
鼠标在对话框内的时候还可以响应mousemove,除了对话框就收不到mousemove消息了。
哪位帮忙解释一下?
如果我要求在对话框之外都能收到mousemove消息应该怎么办?
...全文
86 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fireway2008 2009-10-24
  • 打赏
  • 举报
回复
可以在
OnLButtonUp(UINT nFlags, CPoint point)函数内


if(GetCapture()==this)
来判断鼠标是否在自己的窗体内。
在他乡奋斗 2009-10-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 appearance 的回复:]
SetCapture  函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。

[/Quote]
Carmack Jiang 2009-10-24
  • 打赏
  • 举报
回复
SetCapture  函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。
TADICAN 2009-10-23
  • 打赏
  • 举报
回复
搞清楚了。
SetCapture会终止自己窗口的mouse down响应,而捕捉其它窗口发生的mouse down响应。然后会自动release SetCapture;
参考:http://topic.csdn.net/t/20050304/14/3824696.html#

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧