如题 包括鼠标左、右键单击,鼠标移动  

解决方案 »

  1.   

    系统钩子,见<Delphi下深入Windows核心编程>
      

  2.   

    mousedown,mounsemove,mouseup這些事件
      

  3.   

    是的 我要的是用 procedure  ....;message wm_mousemove
    这种方式 
      

  4.   

    定义消息处理函数,响应wm_lbuttondown wm_rbuttondown 之类的消息 
      

  5.   

    拦截系统消息procedure MyMessage(var Msg: TMsg; var Handled: Boolean)procedure TForm1.FormCreate(Sender: TObject);
    begin
      Application.OnMessage := MyMessage;
    end;procedure TForm1.MyMessage(var Msg: TMsg; var Handled: Boolean);
      var FRect :TRect;
    begin
      case Msg.message of
        WM_LBUTTONDBLCLK  : //这个是双击。后面还有很多,你自己看看哪些有用
        begin
      
        end;
      end;
    end;
      

  6.   

    可以参考下面的代码
    { Private declarations }
    procedure MyWMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE;procedure TForm1.MyWMMouseMove(var Message: TWMMouseMove);
    begin
      inherited;
      Edit1.Text := IntToStr(Message.XPos);
      Edit2.Text := IntToStr(Message.YPos);
    end;
    其实这些消息在VCL里面已经封装好了,在Controls单元中的TControl类当中    procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
        procedure WMNCLButtonDown(var Message: TWMNCLButtonDown); message WM_NCLBUTTONDOWN;
        procedure WMRButtonDown(var Message: TWMRButtonDown); message WM_RBUTTONDOWN;
        procedure WMMButtonDown(var Message: TWMMButtonDown); message WM_MBUTTONDOWN;
        procedure WMLButtonDblClk(var Message: TWMLButtonDblClk); message WM_LBUTTONDBLCLK;
        procedure WMRButtonDblClk(var Message: TWMRButtonDblClk); message WM_RBUTTONDBLCLK;
        procedure WMMButtonDblClk(var Message: TWMMButtonDblClk); message WM_MBUTTONDBLCLK;
        procedure WMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE;
        procedure WMLButtonUp(var Message: TWMLButtonUp); message WM_LBUTTONUP;
        procedure WMRButtonUp(var Message: TWMRButtonUp); message WM_RBUTTONUP;
        procedure WMMButtonUp(var Message: TWMMButtonUp); message WM_MBUTTONUP;
        procedure WMMouseWheel(var Message: TWMMouseWheel); message WM_MOUSEWHEEL;