怎样截获鼠标离开当前窗口的消息

keiga 2001-01-18 01:14:00
怎样截获鼠标离开当前窗口的消息
不用SetCapture()来判断WM_MOUSEMOVE
...全文
240 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fesd 2001-01-30
  • 打赏
  • 举报
回复
用WM_NCMOUSEMOVE
keiga 2001-01-29
  • 打赏
  • 举报
回复
看来只有用WM_MOUSEMOVE(BILL GATE 真是个白疵), 不过SetCapture()后鼠标离开窗体后一定要ReleaseCapture(),否则你的程序看上去就象死掉了一样。
darkay 2001-01-20
  • 打赏
  • 举报
回复
CM_MOUSELEAVE是Delphi自己定义的消息,不是windows自己定义的消息(从CM_MOUSELEAVE定义的值0xB014也可以看出来。我想要处理开始提问的问题还是用SetCapture吧,因为仅仅用WM_MOUSEMOVE不能很准确的接收到所以的鼠标移动消息(我已经实践过了,主要是当移动是在鼠标从窗体移动到非窗体的一刻,移动的消息常常不是发到窗体)。只有先用SetCapture再处理WM_MOUSEMOVE消息,才有可能准确的处理你的问题。
keiga 2001-01-19
  • 打赏
  • 举报
回复
Scarlette说的对,用WM_MOUSEMOVE 的确很碎事,而且我还要用它来处理别的事情.CM_MOUSELEAVE? 是编译器自己定义的消息吗?
Robert2001 2001-01-19
  • 打赏
  • 举报
回复
CM_MOUSELEAVE 在MSDN里我用搜索也没有找到!
到是 keiga(keiga)  说的WM_MOUSELEAVE 到是找到了!
我还是听课好了!
  =》
   
keiga 2001-01-19
  • 打赏
  • 举报
回复
没找到CM_MOUSELEAVE ,但找到 WM_MOUSELEAVE(0x02A3) ,还没有TEST,THANKS A LOT
Scarlette 2001-01-19
  • 打赏
  • 举报
回复
CM_MOUSELEAVE = 0xB014
翻翻MSDN,肯定有。或者,你可以找Delphi的Controls.pas。
用WM_MOUSEMOVE肯定累死你,省事儿点吧。
Scarlette 2001-01-19
  • 打赏
  • 举报
回复
不是啊,CM_MOUSELEAVE是标准的Windows消息啊。找不到定义的话自己定义一下嘛,我都说了是0xB014嘛。
keiga 2001-01-19
  • 打赏
  • 举报
回复
我没注意你说的Delphi,可我现在不用Delphi,有其它办法吗?
Robert2001 2001-01-18
  • 打赏
  • 举报
回复
CM_MOUSELEAVE?? 是什么啊!没有查到哦!
就用WM_MOUSEMOVE 来判断一下不下 不行吗。
Scarlette 2001-01-18
  • 打赏
  • 举报
回复
截获CM_MOUSELEAVE。

70,031

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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