您可以在这里快速查找:


 
您的位置: 编程学习 > delphi教程 > 200602
文章分类

Java技术
2005: 03 04 05 06 07 08
09 10 11 12
2006: 01 02

Asp.net
2005: 07 08 09 10 11 12
2006: 01 02

VB编程
2006: 02

Asp编程
2005: 11 12
2006: 01 02

C++/VC
2005: 10 11 12
2006: 01 02

Delphi
2005: 12
2006: 01 02

其它

 本文章适合所有读者

感知鼠标移入移出组件

visli

感知鼠标移入移出组件

虽然从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;