如题我在TMyImage(自己派生的类)里想获取到鼠标离开主窗口的消息
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
这个消息是鼠标离开控件自身的时候响应的
procedure WMMouseLeave(var Message: TMessage); message WM_MOUSELEAVE;
这个好像没有响应我想两个消息都可以响应到
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
这个消息是鼠标离开控件自身的时候响应的
procedure WMMouseLeave(var Message: TMessage); message WM_MOUSELEAVE;
这个好像没有响应我想两个消息都可以响应到
就是当鼠标离开按钮 或 鼠标离开窗口的时候 按钮上的图片会变我想把所有的按钮效果的东西都封装起来,我只要create就能用了如果靠主窗体发消息 那样代码会很乱 而且当界面上按钮多的时候 会很麻烦
鼠标从窗口到桌面,这个会,这好理解
但在窗口内,从窗口区域到控件,也会触发,甚至窗口到标题上,也触发
就是说:只要从窗口到任意不是窗口区域的地方都会触发,所以系统默认是不给窗口响应WM_MOUSELEAVE消息的真要用的话,可以用TrackMouseEvent这个API去启动它,参数是一个tagTRACKMOUSEEVENT结构体,自己看看tagTRACKMOUSEEVENT的源码,4个成员变量,很好理解的;
在OnMouseMove事件中调用TrackMouseEvent就行了