一个button的OnClick是左(单)击鼠标的事件,请问button有没有右击事件?如果我想响应鼠标的右击事件,该如何实现?谢谢,比较急,在线等!

解决方案 »

  1.   

    声明
    procedure LBDwon(var Msg:TWMLBUTTONDOWN);message WM_LBUTTONDOWN;//左键
    procedure RBDown(var Msg:TWMRBUTTONDOWN);message WM_RBUTTONDOWN;//右键实现
    procedure LBDwon(var Msg:TWMLBUTTONDOWN);
    begin
      //做你想做的事
    end;procedure RBDown(var Msg:TWMRBUTTONDOWN);
    begin
      //做你想做的事
    end;
      

  2.   

    或者
    procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
        if Button=mbRight then
           ShowMessage('Right')
        else if Button=mbLeft then
            ShowMessage('left');end;
      

  3.   

    liufuyahong: 这样的话在其它地方点右健也会触发消息处理的
    如何判断鼠标就在tbuuton上呢?偶个人认为还是用二楼的。
      

  4.   

    可以自己写拦截右键消息的句柄
    procedure RBDown(var Msg:TWMRBUTTONDOWN);message WM_RBUTTONDOWN也可以在控件的MouseDown事件中判断Button的值