用ADOQuery操作access数据库时。在DBGrid中与PopMenu关联,想做成在DBGrid中右击鼠标时,弹出菜单,选择“编辑”,然后弹出一个窗体,显示当前记录各数据项(通过文本框)。现在遇到的总是是:我在onCellClick中写代码如下:
current_row:=dbgrid1.DataSource.DataSet.Fields[1].AsString;,
运行只有在单击鼠标,然后右击才能获取当前记录,怎么样才能直接右击就可以获取鼠标的焦点所在的记录呢!谢谢!

解决方案 »

  1.   

    TF_main.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);)
    如何在该事件中获取单击的是鼠标左键还是右键?可以具体写一下代码吗,我是新手!
    谢谢!
      

  2.   

    if Button=mbRight then
    /////////右键
    if Button=mbLeft then
    ////////左键
      

  3.   

    你的思路应该不准确,onCellClick明显是左键的单击事件,所以达不到你想要的效果你的右键功能是弹出菜单,理应把你的那句代码放在PopupMenu1的弹出事件中
    PopupMenu1Popup(Sender: TObject);
    begin
     current_row:=dbgrid1.DataSource.DataSet.Fields[1].AsString;
    end;