VB的弹出菜单设计

Author: 丁圣敏 Date: 2000年 第35期

  在VB中,我们知道使用Menu Editor编辑器可以制作菜单。但通常所用的菜单是放在窗体顶部的,称作主菜单。对于点击鼠标中的左键或右键后弹出的菜单称作弹出菜单。这是很酷的界面设计技术。一般,弹出菜单总是出现在屏幕上靠近鼠标的位置上,用户在菜单中进行操作选择,在处理用户的选择后便从屏幕上消失。
  弹出菜单的创建与创建主菜单的方法相同,不同的只是弹出菜单的调用方法,还有弹出菜单的不可见性上。
  首先使用Menu Editor制作一个菜单条作为弹出菜单的顶层菜单。不过,这个菜单条是不可见的,要将其Visible属性设置为False,然后在其下建立子菜单。这子菜单的内容便是你希望弹出的菜单内容。子菜单的Visible属性应是标记性的,点击OK按键便完成了创建工作。
  如:用pop1作为其顶层菜单的Caption属性、popex作为Name属性。
  其子菜单有: Caption Name
        &Save as  mnSave
        &Delete,  mndel
  在创建完弹出菜单后,接下来便是调用它。因为它是通过点击鼠标按钮来激活的,所以调用也依赖于对象(Object)的MouseUp之类的鼠标事件来实现。所用的方法是:Object.PopMenu方法。如上例中的菜单要在窗体(Form1)上点击鼠标右键弹出的程序如下:
  Private Sub form_MouseUp(Button As integer,Shift As Integer,X As Single,Y As Single)
   If Button=VbRightButton then
    Form1.PopupMenu popex
   End if
  End sub
  最后要做的是向弹出菜单中的菜单项的Click事件添加代码。因为,弹出菜单在窗体上是不可见的,你不能用点击条目来引出代码编辑窗口。只有在Project(项目)窗口中用View Code方式才能引出代码编辑窗口。在代码编辑窗口的左上方对象表中选择希望的条目。这样便可为不可见的弹出菜单项输入代码。
  如本例中在对象表中找到mnSave条目点击后会出现:
  Private Sub mnSave_click()
  ′在这里输入代码
  End Sub