实现的功能是:当鼠标右键按在DBGrid的标题栏时弹出一个菜单,当按在数据行时又弹出另一菜单,这个要如何实现?请帮帮忙!

解决方案 »

  1.   

    procedure TForm1.DBGrid1TitleClick(Column: TColumn);
    begin
     showmessage('你按了标题栏') ;
     DBGrid1.PopupMenu := PopupMenu1;
    end;procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
    showmessage('单元格');
      DBGrid1.PopupMenu := PopupMenu2;
    end;
      

  2.   

    楼上的正解procedure TForm1.DBGrid1TitleClick(Column: TColumn);
    begin
     showmessage('你按了标题栏') ;
     DBGrid1.PopupMenu := PopupMenu1;
    end;procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
    showmessage('单元格');
      DBGrid1.PopupMenu := PopupMenu2;
    end;
      

  3.   

    你把楼上两位的SHOWMESSAGE()换成你要弹出的菜单项不就可以了么??
      

  4.   

    可以使用DBGrid的MouseCoord(X, Y: Integer)函数
    再配合DBGrid的OnMouseDown事件来实现这个功能。
      

  5.   

    按楼上这样做,当鼠标右键点击有记录的行数时根本无法获得鼠标的位置,我用EDIT查看过,横纵向根本没有值,无法弹出菜单来
      

  6.   

    你把楼上两位的SHOWMESSAGE()换成你要弹出的菜单项不就可以了么??