在CM_MOUSEENTER和CM_MOUSSELEAVE事件中处理,这是我在delphi中的一段代码,供参考
procedure TForm1.CMMouseEnter(var msg:tmessage);
var
obj:TObject;
begin
obj:=Tobject(msg.lParam);//鼠标所在的控件
if obj<>nil then
begin
//确定控件的类型
if obj is TButton then
Form1.BorderWidth:=5;
//你的处理
end;
end;
procedure TForm1.CMMouseLeave(var msg:tmessage);
var
obj:TObject;
begin
obj:=Tobject(msg.lParam);//鼠标所在的控件
if obj<>nil then
begin
//确定控件的类型
//你的处理
if obj is TButton then
Form1.BorderWidth:=1;
if flag=1 then
begin
Form1.ClientHeight:=Form1.ClientHeight div 2;
Form1.ClientWidth:=Form1.ClientWidth div 2;
flag:=0;
end;
end;
end;