我使用的是六键鼠标(就是那种游戏鼠标),请问各位大侠,怎样截获鼠标第四键发出的消息呢?//我是这样写的代码,但是Button的值只有鼠标左右键和中间的滚轮键,控制不了鼠标第四键的
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button=mbLeft then//鼠标左键
    ShowMessage('Left')
  else if Button=mbRight then//鼠标右键
    ShowMessage('Right')
  else//鼠标中间的滚轮
    ShowMessage('Middle');
end;请问我应该怎样写代码,才能控制鼠标的第四键呢?我想按下鼠标第四键后,也ShowMessage一个消息。  

解决方案 »

  1.   

    我用SPY++发现当点击鼠标第四键的时候,发送的消息是0x020B,所以我重载了窗口函数,来拦截此消息。
    procedure TForm1.WndProc(var Msg: TMessage);
    begin
      if Msg.Msg = 523 then
        ShowMessage('Catch the mouse fifth key message!');
      inherited;
    end;如果单独一个Form的话,就可以拦截住这个消息。但是当我在这个Form上面放了一个Panel后(属性设置为Client),就不能拦截此消息了。我想问各位大侠,是不是窗口函数只是针对Form啊?如果我在这个Form上面已经放了很多控件,请问我应该怎样来拦截这个消息呢,谢谢了哈!