在mousedown中判断的确可以,但我要在按DBgrid的数据行时判断,这时候Mousedown事件不触发,我要判断按的是不是右键,然后弹出菜单

解决方案 »

  1.   

    procedure TForm1.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
    //  if (button=mbRight) and (cellclick=true) then
      //  showmessage('ok');
    end;procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
    //  cellclick:=true;
    end;procedure TForm1.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
    //  cellclick:=false;
      if (button=mbRight) and (cellclick=true) then
        showmessage('ok');
    end;procedure TForm1.DBGrid1ColEnter(Sender: TObject);
    begin
      cellclick:=true;end;procedure TForm1.DBGrid1ColExit(Sender: TObject);
    begin
      cellclick:=false;
    end;
    以上不对,建议试试Thittests属性或是DBGrid1CellClick(Column: TColumn);中的Colum
      

  2.   

    你把dbgrid的popmenu的属性设置成你要弹出的菜单不可以吗?
      

  3.   

    你还是先添加一个PopupMenu吧,然后把DBGrid的popmenu设为刚才的PopupMenu,这样你的目的达到了