如果要使用我上面所说的方法,你需要从TButton继承一个新类
TMyButton = class(TButton)
private
procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
end;
或者另外一个变通的办法,在Button的OnMouseMove和其父控件的OnMouseMove事件中处理
如果Button.OnMouseMove,则说明鼠标在Button之上,如果Button.Parent.OnMouseMove,则说明鼠标已离开了Button
需注意一点的就是Button需与其它控件隔开一点距离,以使鼠标一离开Button,马上就能触发到Button.Parent.OnMouseMove事件