请教怎样判断鼠标是否在某个控件上.

解决方案 »

  1.   

    鼠标移入的消息是CM_MOUSEENTER,移出是CM_MOUSELEAVE例:判断鼠标是否在名为button1的按钮上
    声明:
    procedure CMMOUSEENTER(var msg: TMessage); message CM_MOUSEENTER;
    实现:
    procedure TForm1.CMMOUSEENTER(var msg: TMessage);
    begin
      if integer(button1) = msg.LParam then ShowMessage('hehe');
    end;
      

  2.   

    function IsMouseInControl(AControl: TWincontrol): Boolean;
    begin
      Result := FindVCLWindow(Mouse.CursorPos);
    end;
      

  3.   

    function IsMouseInControl(AControl: TWincontrol): Boolean;
    begin
      Result := FindVCLWindow(Mouse.CursorPos) = AControl;
    end;
    抱歉,忘写了
      

  4.   

    FindVCLWindow(Mouse.CursorPos) = AControl