dbgrid的popupmenu属性设了一个popupmenu控件,有两个菜单项,分别是‘增加记录’和‘删除记录’,如何通过编程,只有在用户按了‘增加’按钮或‘删除’按钮后,再右击dbgrid时才显示popupmenu,在浏览状态单击右键不能显示popupmenu

解决方案 »

  1.   

    用一个变量来表示var
      bAddBtn,bDelBtn :Boolean;{设置两个变量,并在form的create中初始化为fasle}
    在你的增加与删除按钮中分别写如下代码:  bAddBtn := True;
     
      bDelBtn := True; 在你的DBGrid中的Onclick事件中写  if (bAddBtn) or (bDelBtn) then
        {显示你的右键菜单}
      

  2.   

    同意: Drate(鸟窝里的虫) ( ) 的前半部分,设置变量记录是否增加删除.在popmenu的onpopup事件里加if (baddbtn) or (bdelbtn) then 
      

  3.   

    试试看吧:
       if 满足条件  then
       popupmenu:=PopupMenu1 
       else
       popupmenu:=nil;
      

  4.   


    if ... then PopupMenu1.Popup(x,y);
      

  5.   

    dbgrid1.popupmenu:=nil;
    然后在新增或修改时再dbgrid1.popupmenu:=popupmenu;