procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var R:TRect;
P:TPoint;
begin
R.Left:=button1.Left;
R.Right:=button1.Left + button1.Width;
R.Top:=button1.Top;
R.Bottom:=button1.Top + button1.Height;
if sender is tbutton then
begin
p.X:=button1.Left + X;
P.Y:=button1.Top + Y;
end
else
begin
p.X:=X;
P.Y:=Y;
end;
if PTinRect(R,P) then
caption:='1111' //改成你菜单的显示,visible:true
else
caption:='aaaa';//菜单消失。visble:false
end;
同时设置button1的onMouseMove为:FormMouseMove;