我想在Grid中的某一行上弹出我的菜单,使得能删除和插入记录,如何做到??

解决方案 »

  1.   

    在grid_mousedown事件中
    调用trackpopmenu 显示菜单。
      

  2.   


    '建立菜单
    '&Action(mnuAction)
    '    &Add(mnuActionAdd)
    '    &Delete(mnuActionDelete)Private Sub DataGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button = vbRightButton Then
            PopupMenu mnuAction
        End If
    End Sub=========================================================================
     
    PopupMenu 方法
          用以在 MDIForm 或 Form 对象上的当前鼠标位置或指定的坐标位置显示弹出式菜单。不支持命名参数。语法object.PopupMenu Menuname, Flags, X, Y, boldcommandPopupMenu 方法的语法包含下列部分:部分 描述
    object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,则带有焦点的 Form 对象缺省为 object。
    Menuname 必需的?要显示的弹出式菜单名?指定的菜单必须含有至少一个子菜单?
    Flags 可选的。一个数值或常数,按照下列设置中的描述,用以指定弹出式菜单的位置和行为。
    X 可选的。指定显示弹出式菜单的 x 坐标。如果该参数省略,则使用鼠标的坐标。
    Y 可选的。指定显示弹出式菜单的 y 坐标。如果该参数省略,则使用鼠标的坐标。
    boldcommand 可选的。指定弹出式菜单中的菜单控件的名字,用以显示其黑体正文标题。如果该参数省略,则弹出式菜单中没有以黑体字出现的控件。
    设置值用于 flag 的设置值有:常数位置 值 描述
    vbPopupMenuLeftAlign 0 (缺省值)。弹出式菜单的左边定位于 x。
    vbPopupMenuCenterAlign 4 弹出式菜单的于 x 居中位。
    vbPopupMenuRightAlign 8 弹出式菜单的右边定位于 x。常数行为 值 描述
    vbPopupMenuLeftButton 0 (缺省值)。 仅当使用鼠标左按钮时, 弹出式菜单中的项目才响应鼠标单击。
    vbPopupMenuRightButton 2 不论使用鼠标右按钮还是左按钮, 弹出式菜单中的项目都响应鼠标单击。
    说明上述常数在对象浏览器中的 Visual Basic (VB) 对象库里列出。可使用 ScaleMode 属性指定x和y坐标的度量单位。x 和 y 坐标定义弹出式菜单相对于指定窗体显示的位置。如果没有包括 x 和 y 坐标,则弹出式菜单就显示在鼠标指针当前的位置。在显示弹出式菜单时,调用 PopupMenu 方法后面的代码直到用户或者从菜单中选择了命令(这时,该命令的 Click 事件的代码比 PopupMenu 语句后面的代码先执行)或者取消该菜单时才能执行。此外,每次只能显示一个弹出式菜单,因此,如果已经显示了一个弹出式菜单或打开了一个下拉式菜单时,该方法的其它调用将被忽略。
      

  3.   

    上页的该说的已说的,其实不要那么一大堆首选,工具-菜单建立一个弹出菜单,例如名称为pop1datagrid的mouse up事件中
    if button=vbRightButton then
     PopupMenu pop1
    end if