拦截下面的消息
// 中键双击
WM_MBUTTONDBLCLK
// UP 
WM_MBUTTONUP 
// DOWN
WM_MBUTTONDOWN
// 滚动
WM_MOUSEWHEEL

解决方案 »

  1.   

    procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
    begin
     if ssMiddle in Shift then 
       ...
    end;
      

  2.   

    procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
    begin
     if ssMiddle in Shift then 
       ...
    end;
      

  3.   

    通过判断mouseDown事件中的shift变量的值,例如:
    Form1.FormMouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;x,y:integer);
    if shift>=[ssMiddle] then do sth;
      

  4.   

    最后一个只能用于WinNT、Win2k、WinXP