感知鼠标移入移出组件虽然从D7开始,给许多组件增加了OnEnter与OnExit事件,但对于大多数组件,要感知鼠标移入移出组件仍是一件不容易的事情。下面的方法就是用于解决这个问题。
(对一般组件有效,对Form、MainMenu等无效)
private { Private declarations } //定义两个过程: procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER; procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
procedure TForm1.CMMouseEnter(var Msg: TMessage);var anObject : TObject;begin anObject := TObject(Msg.lParam); //Button1为要感知的组件,可以换为其它组件 if anobject = Button1 then edit1.Text :=''''Mouse Enter'''';end;
procedure TForm1.CMMouseLeave(var Msg: TMessage);var anObject : TObject;begin anObject := TObject(Msg.lParam); if anobject = Button1 then edit1.Text := ''''Mouse Leave'''';end;
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18