8.1.3  弹出式菜单

8.1.3 弹出式菜单

Visual Basic中除下拉式菜单外,还常常使用弹出式菜单。弹出式菜单能够以灵活的方式为用户提供更加便利的操作方式,它可以根据用户右击时的位置,动态地调整菜单的显示位置。因此,弹出式菜单也称为上下文菜单,或快捷菜单。

建立弹出式菜单基本步骤如下。

1)用菜单编辑器建立菜单。

2)根据需要用PopupMenu方法弹出菜单。

第1)步的操作与下拉式菜单基本相同,唯一的区别是,需要把弹出式菜单名(即顶级菜单)的“可见”属性设置为False,目的是不让它在菜单栏中出现,它的子菜单不用设置此属性。

PopupMenu方法的语法格式如下。

978-7-111-49659-5-Chapter08-8.jpg

[对象.]:可选,如果省略,则默认为带有焦点的Form对象。

<菜单名>:必选,要显示的弹出式菜单名。指定的菜单至少要有一个子菜单。

flags:可选,数值或常量,按照下列设置中的描述,用于指定弹出式菜单的位置和行为。

978-7-111-49659-5-Chapter08-9.jpg

x:可选,指定显示弹出式菜单的x坐标。如果该参数省略,则使用鼠标指针的坐标。

y:可选,指定显示弹出式菜单的y坐标。如果该参数省略,则使用鼠标指针的坐标。

BoldCommand:可选,指定弹出式菜单中菜单控件的名称,并以黑体显示其正文标题,即加粗显示。如果该参数省略,则弹出式菜单中没有以黑体字出现的控件。在弹出式菜单中只能有一个菜单项被加粗。

【例8-2】在窗体上添加一个标签,程序运行,当用户在标签上右击时,弹出“字体”菜单。

详细设置见表8-4。

表8-4 “字体”菜单

978-7-111-49659-5-Chapter08-10.jpg

菜单编辑器设置如图8-4所示。

完整代码如下。

978-7-111-49659-5-Chapter08-11.jpg

978-7-111-49659-5-Chapter08-12.jpg

978-7-111-49659-5-Chapter08-13.jpg

图8-4 菜单编辑器设置

运行结果如图8-5所示。

978-7-111-49659-5-Chapter08-14.jpg

图8-5 弹出式菜单示例