如何知道mouse从一个控件上移走?

wh_cxh 2000-06-26 09:28:00
mouse经过一个控件时响应mouseover,移走呢?
...全文
175 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ploto 2000-06-29
  • 打赏
  • 举报
回复
如果自己要写控件的话,响应基类的CM_MOUSEENTER和CM_MOUSELEAVE事件。
如果不自己写件的话,在Form的MouseMove事件中记录当前在Mouse下面的控件是谁,这样可以模拟实现。
或者响应控件的MouseMove事件,在该事件中如true_hero所讲的,一始就SetCapture, 当发现Mouse超出近件范围了,再ReleaseCapture;
第四种方法是在所需处理的控件上贴一个透明窗口。
qianxh 2000-06-27
  • 打赏
  • 举报
回复
1.通过SetWindowsHookEx() API 函数设置鼠标事件响应,进行确定;
2.通过该控件周围的控件鼠标进入事件确定;
gohi 2000-06-27
  • 打赏
  • 举报
回复
我看简单的方法就是写窗口的mousemove事件
SCUM 2000-06-27
  • 打赏
  • 举报
回复
别用 qianxh 的第二个方法
true_hero 2000-06-26
  • 打赏
  • 举报
回复
SetCapture
ReleaseCapture
lyxinfo 2000-06-26
  • 打赏
  • 举报
回复
使用WM_MOUSELEAVE消息就可以了,我没有实际直接用过(往往自己写一个控件),直接用的话应该需要子类化控件才行。

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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