我想在TDBGrid上区分鼠标的左右键事件,并且有不同的响应,该怎么作呢??

解决方案 »

  1.   

    这上事件,不过是对整个DBGrid的
    procedure TForm1.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      if Button=mbLeft then
        showmessage('左键')
      else if Button=mbRight then
        showmessage('右键');
    end;
      

  2.   

    在TDBGrid的网格区域,比如点击鼠标左键的时候,需要选中DBGrid的一行,如果是点击右键的话,选中的是一列,并且有右键菜单弹出。
      

  3.   

    在TDBGrid的网格区域,比如点击鼠标左键的时候,需要选中DBGrid的一行,
     dgRowSelect设置True
    如果是点击右键的话,选中的是一列,并且有右键菜单弹出。 dbgrid1.PopupMenu 直接设置上不就得了
      

  4.   

    注意: 我说的是“如果是点击右键的话,选中的是一列,并且有右键菜单弹出。
    ”,楼上所述,只能选中一个“Cell”,而且如果把“dgRowSelect设置True”,每次不论点击哪一个column ,所返回的“selectedField”都是columns中的第一个Field,达不到程序的要求。
      

  5.   

    sorry 选中的是一列这个我真没看到
    DBGrid似乎没有选中一整列的形式...